Issue metadata
Sign in to add a comment
|
36KB regression in resource_sizes (MonochromePublic.apk) at 553815:553815 |
||||||||||||||||||
Issue descriptionCaused by “SkiaRenderer: Add SkiaOutputSurface to allow SkiaRenderer to use SkDDL” Commit: b0478d0c86e6c90c497a8c3cffd0dc4077ae0efa Link to size graph: https://chromeperf.appspot.com/report?sid=a097e74b1aa288511afb4cb616efe0f95ba4d347ad61d5e835072f23450938ba&num_points=10&rev=553815 Debugging size regressions is documented at: https://chromium.googlesource.com/chromium/src/+/master/docs/speed/apk_size_regressions.md#Debugging-Apk-Size-Increase Based on the graph: 36kb of native code. It's not clear to me whether or not this increase was expected. Please have a look and either: Close as “Won't Fix” with a short justification, or Land a revert / fix-up.
,
Apr 26 2018
Assigning to penghuang@chromium.org because this is the only CL in range: SkiaRenderer: Add SkiaOutputSurface to allow SkiaRenderer to use SkDDL This CL adds a new interface viz::SkiaOutputSurface which extends viz::OutputSurface for SkiaRenderer to support compositing with SkDDL (skia deferred display list). SkiaRenderer draws quads into a DDL SkCanvas, and draw operations will be recorded into a DDL. In OutputSurface::SwapBuffers(), a GPU task will be scheduled with gpu::Schduler. The task will be executed on the GPU thread when all resource sync tokes are satisfied. The task will play the DDL back on a GrContext which is backed by a native platform GL context. We have a goal to use SkiaRenderer everywhere, and remove GLRenderer and Software Compositor. The new viz::SkiaOutputSurface interface and viz::OutputSurface interface will be merged into one interface when DirectRenderer subclasses are removed. The new interface is for making development faster because when we change methods in viz::SkiaOutputSurface, we will not break all other existing OutputSurface implementations. Bug: 824382 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: I776a76dc8496d40f88950856867596f5c44f735f Reviewed-on: https://chromium-review.googlesource.com/978366 Commit-Queue: Peng Huang <penghuang@chromium.org> Reviewed-by: Antoine Labour <piman@chromium.org> Reviewed-by: Robert Kroeger <rjkroege@chromium.org> Cr-Commit-Position: refs/heads/master@{#553815}
,
Apr 26 2018
Section Legend: t=.text, r=.rodata, R=.data.rel.ro, d=.data, b=.bss, x=.dex, m=.dex.method, p=.pak.translations, P=.pak.nontranslated, o=.other
Index | Running Total | Section@Address | Δ PSS (Δ size_without_padding) | Path
------------------------------------------------------------
+ 0) 8664 (23.1%) t@0x8537d8 8664 (0->8664) third_party/skia/src/gpu/gl/GrGLAssembleInterface.cpp
GrGLMakeAssembledGLESInterface
+ 1) 16800 (44.8%) t@0x8559b0 8136 (0->8136) third_party/skia/src/gpu/gl/GrGLAssembleInterface.cpp
GrGLMakeAssembledGLInterface
~ 2) 20188 (53.8%) o@0x0 3388 (0->0) {no path}
Overhead: APK file
~ 3) 21683 (57.8%) o@0x0 1495 (0->0) {no path}
Overhead: ELF file
+ 4) 22543 (60.1%) t@0x8dc988 860 (0->860) third_party/skia/src/core/SkDeferredDisplayListRecorder.cpp
SkDeferredDisplayListRecorder::init
~ 5) 23251 (62.0%) o@0x0 708 (1960448->1961156) base/trace_event/cfi_backtrace_android.cc
+ 6) 23795 (63.4%) t@0x876f2c 544 (0->544) third_party/skia/src/image/SkImage_Gpu.cpp
SkImage_Gpu::MakePromiseTexture
+ 7) 24319 (64.8%) t@0xef94fc 524 (0->524) components/viz/service/display_embedder/skia_output_surface_impl.cc
viz::SkiaOutputSurfaceImpl::ReshapeOnGpuThread
+ 8) 24777 (66.0%) t@0xf05ed8 458 (0->456) components/viz/service/gl/gpu_service_impl.cc
viz::GpuServiceImpl::CreateGrContextIfNecessary
+ 9) 25225 (67.2%) t@0xef904c 448 (0->448) components/viz/service/display_embedder/skia_output_surface_impl.cc
viz::SkiaOutputSurfaceImpl::InitializeOnGpuThread
+ 10) 25615 (68.3%) t@Group 390 (0->390) components/viz/service/display_embedder/skia_output_surface_impl.cc
viz::SkiaOutputSurfaceImpl::~SkiaOutputSurfaceImpl (count=2)
+ 11) 25967 (69.2%) t@0x87798c 352 (0->352) third_party/skia/src/image/SkImage_Gpu.cpp
PromiseImageHelper::getTexture
+ 12) 26263 (70.0%) t@0xef920c 296 (0->296) components/viz/service/display_embedder/skia_output_surface_impl.cc
viz::SkiaOutputSurfaceImpl::Reshape
+ 13) 26551 (70.8%) t@0xeedc82 288 (0->288) components/viz/service/display/skia_renderer.cc
std::__ndk1::__split_buffer<>::emplace_back<>
+ 14) 26839 (71.5%) t@0xeeaf74 288 (0->288) components/viz/service/display/skia_renderer.cc
viz::SkiaRenderer::ScopedSkImageBuilder::ScopedSkImageBuilder
+ 15) 27117 (72.3%) t@0xef9744 278 (0->276) components/viz/service/display_embedder/skia_output_surface_impl.cc
viz::SkiaOutputSurfaceImpl::MakePromiseSkImage
+ 16) 27389 (73.0%) t@0x8dc7a6 272 (0->272) third_party/skia/src/core/SkDeferredDisplayListRecorder.cpp
SkDeferredDisplayListRecorder::SkDeferredDisplayListRecorder
+ 17) 27651 (73.7%) t@0xef9880 262 (0->260) components/viz/service/display_embedder/skia_output_surface_impl.cc
viz::SkiaOutputSurfaceImpl::SkiaSwapBuffers
+ 18) 27901 (74.4%) t@0xed7f04 250 (0->248) components/viz/service/display/display.cc
viz::Display::Display
+ 19) 28145 (75.0%) t@0xeedb18 244 (0->244) components/viz/service/display/skia_renderer.cc
std::__ndk1::vector<>::emplace<>
- 20) 27903 (74.4%) t@0x0 -242 (240->0) components/viz/service/display/display.cc
viz::Display::Display
+ 21) 28131 (75.0%) t@0xef8f68 228 (0->228) components/viz/service/display_embedder/skia_output_surface_impl.cc
viz::SkiaOutputSurfaceImpl::BindToClient
+ 22) 28353 (75.6%) t@0xeeb134 222 (0->220) components/viz/service/display/skia_renderer.cc
viz::SkiaRenderer::SkiaRenderer
+ 23) 28569 (76.2%) t@0xef9334 216 (0->216) components/viz/service/display_embedder/skia_output_surface_impl.cc
SkSurfaceCharacterization::createResized const
+ 24) 28779 (76.7%) t@0x8dc8b6 210 (0->210) third_party/skia/src/core/SkDeferredDisplayListRecorder.cpp
SkDeferredDisplayListRecorder::~SkDeferredDisplayListRecorder
- 25) 28581 (76.2%) t@0x0 -198 (196->0) components/viz/service/display/skia_renderer.cc
viz::SkiaRenderer::SkiaRenderer
+ 26) 28773 (76.7%) t@0xd5cf84 192 (0->192) cc/resources/display_resource_provider.cc
cc::DisplayResourceProvider::LockForExternalUse
******************************Resource Sizes Diff******************************
MonochromePublic.apk_Breakdown (+37,278 bytes)
+3,388 bytes Zip Overhead
+708 bytes unwind_cfi (dev and canary only) size
+33,184 bytes Native code size
-2 bytes Package metadata size
MonochromePublic.apk_Specifics
+36,570 bytes normalized apk size
+33,184 bytes main lib size
,
Apr 26 2018
This is expected. And in future, we will use SkiaRenderer + SkiaDDL to replace all other DirectRenderer subclasses and Software compositing related code. It will reduce resource size in the long run. |
|||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||
Comment 1 by 42576172...@developer.gserviceaccount.com
, Apr 26 2018