Merge "Add debug memory tracking to SkiaGLPipeline"

This commit is contained in:
TreeHugger Robot
2016-11-08 01:15:29 +00:00
committed by Android (Google) Code Review
4 changed files with 27 additions and 0 deletions

View File

@@ -95,6 +95,11 @@ bool SkiaOpenGLPipeline::draw(const Frame& frame, const SkRect& screenDirty,
profileCanvas->flush();
}
// Log memory statistics
if (CC_UNLIKELY(Properties::debugLevel != kDebugDisabled)) {
dumpResourceCacheUsage();
}
return true;
}

View File

@@ -266,6 +266,20 @@ void SkiaPipeline::renderFrame(const LayerUpdateQueue& layers, const SkRect& cli
canvas->flush();
}
void SkiaPipeline::dumpResourceCacheUsage() const {
int resources, maxResources;
size_t bytes, maxBytes;
mRenderThread.getGrContext()->getResourceCacheUsage(&resources, &bytes);
mRenderThread.getGrContext()->getResourceCacheLimits(&maxResources, &maxBytes);
SkString log("Resource Cache Usage:\n");
log.appendf("%8d items out of %d maximum items\n", resources, maxResources);
log.appendf("%8zu bytes (%.2f MB) out of %.2f MB maximum\n",
bytes, bytes * (1.0f / (1024.0f * 1024.0f)), maxBytes * (1.0f / (1024.0f * 1024.0f)));
ALOGD("%s", log.c_str());
}
} /* namespace skiapipeline */
} /* namespace uirenderer */
} /* namespace android */

View File

@@ -100,7 +100,10 @@ public:
mSpotShadowAlpha = lightInfo.spotShadowAlpha;
mLightCenter = lightGeometry.center;
}
protected:
void dumpResourceCacheUsage() const;
renderthread::RenderThread& mRenderThread;
private:

View File

@@ -81,6 +81,11 @@ bool SkiaVulkanPipeline::draw(const Frame& frame, const SkRect& screenDirty,
profileCanvas->flush();
}
// Log memory statistics
if (CC_UNLIKELY(Properties::debugLevel != kDebugDisabled)) {
dumpResourceCacheUsage();
}
return true;
}