* commit 'bb5f8f5c94610f8eb23a6f74c3f0a5a7dd402606': Add tracing for saveLayer
This commit is contained in:
@@ -51,6 +51,21 @@
|
|||||||
#define EVENT_LOGD(...)
|
#define EVENT_LOGD(...)
|
||||||
#endif
|
#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 android {
|
||||||
namespace uirenderer {
|
namespace uirenderer {
|
||||||
|
|
||||||
@@ -537,17 +552,18 @@ void OpenGLRenderer::flushLayers() {
|
|||||||
|
|
||||||
// Note: it is very important to update the layers in order
|
// Note: it is very important to update the layers in order
|
||||||
for (int i = 0; i < count; i++) {
|
for (int i = 0; i < count; i++) {
|
||||||
|
Layer* layer = mLayerUpdates.itemAt(i);
|
||||||
|
|
||||||
sprintf(layerName, "Layer #%d", i);
|
sprintf(layerName, "Layer #%d", i);
|
||||||
startMark(layerName);
|
startMark(layerName);
|
||||||
|
ATRACE_FORMAT_BEGIN("flushLayer %ux%u", layer->getWidth(), layer->getHeight());
|
||||||
|
|
||||||
ATRACE_BEGIN("flushLayer");
|
|
||||||
Layer* layer = mLayerUpdates.itemAt(i);
|
|
||||||
layer->flush();
|
layer->flush();
|
||||||
|
|
||||||
ATRACE_END();
|
ATRACE_END();
|
||||||
|
endMark();
|
||||||
|
|
||||||
mCaches.resourceCache.decrementRefcount(layer);
|
mCaches.resourceCache.decrementRefcount(layer);
|
||||||
|
|
||||||
endMark();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
mLayerUpdates.clear();
|
mLayerUpdates.clear();
|
||||||
@@ -631,6 +647,7 @@ void OpenGLRenderer::onSnapshotRestored(const Snapshot& removed, const Snapshot&
|
|||||||
|
|
||||||
if (restoreLayer) {
|
if (restoreLayer) {
|
||||||
endMark(); // Savelayer
|
endMark(); // Savelayer
|
||||||
|
ATRACE_END(); // SaveLayer
|
||||||
startMark("ComposeLayer");
|
startMark("ComposeLayer");
|
||||||
composeLayer(removed, restored);
|
composeLayer(removed, restored);
|
||||||
endMark();
|
endMark();
|
||||||
@@ -814,6 +831,9 @@ bool OpenGLRenderer::createLayer(float left, float top, float right, float botto
|
|||||||
mSnapshot->flags |= Snapshot::kFlagIsLayer;
|
mSnapshot->flags |= Snapshot::kFlagIsLayer;
|
||||||
mSnapshot->layer = layer;
|
mSnapshot->layer = layer;
|
||||||
|
|
||||||
|
ATRACE_FORMAT_BEGIN("%ssaveLayer %ux%u",
|
||||||
|
fboLayer ? "" : "unclipped ",
|
||||||
|
layer->getWidth(), layer->getHeight());
|
||||||
startMark("SaveLayer");
|
startMark("SaveLayer");
|
||||||
if (fboLayer) {
|
if (fboLayer) {
|
||||||
return createFboLayer(layer, bounds, clip);
|
return createFboLayer(layer, bounds, clip);
|
||||||
|
|||||||
Reference in New Issue
Block a user