diff options
author | Chris Craik <ccraik@google.com> | 2014-11-18 10:49:23 -0800 |
---|---|---|
committer | Chris Craik <ccraik@google.com> | 2014-11-19 17:24:30 -0800 |
commit | 70850ea258cbf91477efa57a1f1a23cc0044cc93 (patch) | |
tree | 674621c2adc816afae2a1d09291fcd4af12b08e7 /libs/hwui/OpenGLRenderer.cpp | |
parent | 6c912b7d056c67b41fd46f31de168795e97c2336 (diff) | |
download | frameworks_base-70850ea258cbf91477efa57a1f1a23cc0044cc93.zip frameworks_base-70850ea258cbf91477efa57a1f1a23cc0044cc93.tar.gz frameworks_base-70850ea258cbf91477efa57a1f1a23cc0044cc93.tar.bz2 |
Improve logging around performance critical events
bug:17702227
Add details useful to developers (such as layer size/View name), and
switch away from logging implementation names/details, since they
are generally not relevant to developers.
Change-Id: Iee605d182f241450f7e75a6d0c283d51fa1312f5
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
-rwxr-xr-x | libs/hwui/OpenGLRenderer.cpp | 32 |
1 files changed, 3 insertions, 29 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index d570b0d..80b4c2a 100755 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -42,6 +42,7 @@ #include "ShadowTessellator.h" #include "SkiaShader.h" #include "utils/GLUtils.h" +#include "utils/TraceUtils.h" #include "Vector.h" #include "VertexBuffer.h" @@ -51,21 +52,6 @@ #define EVENT_LOGD(...) #endif -static void atraceFormatBegin(const char* fmt, ...) { - const int BUFFER_SIZE = 256; - va_list ap; - char buf[BUFFER_SIZE]; - - va_start(ap, fmt); - vsnprintf(buf, BUFFER_SIZE, fmt, ap); - va_end(ap); - - ATRACE_BEGIN(buf); -} - -#define ATRACE_FORMAT_BEGIN(fmt, ...) \ - if (CC_UNLIKELY(ATRACE_ENABLED())) atraceFormatBegin(fmt, ##__VA_ARGS__) - namespace android { namespace uirenderer { @@ -466,8 +452,6 @@ void OpenGLRenderer::renderOverdraw() { bool OpenGLRenderer::updateLayer(Layer* layer, bool inFrame) { if (layer->deferredUpdateScheduled && layer->renderer && layer->renderNode.get() && layer->renderNode->isRenderable()) { - ATRACE_CALL(); - Rect& dirty = layer->dirtyRect; if (inFrame) { @@ -525,20 +509,10 @@ void OpenGLRenderer::flushLayers() { int count = mLayerUpdates.size(); if (count > 0) { startMark("Apply Layer Updates"); - char layerName[12]; // Note: it is very important to update the layers in order for (int i = 0; i < count; i++) { - Layer* layer = mLayerUpdates.itemAt(i).get(); - - sprintf(layerName, "Layer #%d", i); - startMark(layerName); - ATRACE_FORMAT_BEGIN("flushLayer %ux%u", layer->getWidth(), layer->getHeight()); - - layer->flush(); - - ATRACE_END(); - endMark(); + mLayerUpdates.itemAt(i)->flush(); } mLayerUpdates.clear(); @@ -575,7 +549,7 @@ void OpenGLRenderer::cancelLayerUpdate(Layer* layer) { } void OpenGLRenderer::flushLayerUpdates() { - ATRACE_CALL(); + ATRACE_NAME("Update HW Layers"); syncState(); updateLayers(); flushLayers(); |