Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(317)

Issue 1876363005: cc: GPU rasterize to an auxiliary surface when using MSAA renderbuffers

Created:
4 years, 8 months ago by Kimmo Kinnunen
Modified:
4 years, 6 months ago
CC:
chromium-reviews, piman+watch_chromium.org, cc-bugs_chromium.org, bsalomon
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

cc: GPU rasterize to an auxiliary surface when using MSAA renderbuffers GPU rasterize to an auxiliary MSAA surface when rendering with MSAA hardware that uses renderbuffers. Creating MSAA SkSurfaces per tile causes renderbuffer allocations, which are time-consuming. Instead, allocate the MSAA SkSurface once, and then blit the rendering results to the tile. Improves GPU rasterization performance when MSAA backend is used. For example, the tiger svg changes from ~40 to ~60 updates per second on certain Android hardware. BUG=594928 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Patch Set 1 #

Patch Set 2 : #

Total comments: 4

Patch Set 3 : rebase #

Patch Set 4 : #

Patch Set 5 : rebase #

Patch Set 6 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+138 lines, -18 lines) Patch
M cc/raster/gpu_rasterizer.h View 1 2 3 4 2 chunks +19 lines, -2 lines 0 comments Download
M cc/raster/gpu_rasterizer.cc View 1 2 3 4 3 chunks +106 lines, -14 lines 0 comments Download
M cc/resources/resource_provider.h View 1 2 3 4 2 chunks +2 lines, -1 line 0 comments Download
M gpu/command_buffer/common/capabilities.h View 1 2 3 4 5 2 chunks +3 lines, -1 line 0 comments Download
M gpu/command_buffer/common/capabilities.cc View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M gpu/ipc/common/gpu_command_buffer_traits_multi.h View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 27 (11 generated)
Kimmo Kinnunen
4 years, 8 months ago (2016-04-13 09:23:57 UTC) #4
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1876363005/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1876363005/1
4 years, 8 months ago (2016-04-14 06:05:10 UTC) #6
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 8 months ago (2016-04-14 07:22:54 UTC) #8
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1876363005/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1876363005/20001
4 years, 8 months ago (2016-04-14 13:05:37 UTC) #10
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 8 months ago (2016-04-14 14:02:02 UTC) #12
piman
I'm not sufficiently fluent in skia to review in depth those parts - +senorblanco. But ...
4 years, 8 months ago (2016-04-14 22:45:03 UTC) #14
Kimmo Kinnunen
Before this patch with multisampled render to texture: Render multisampled to texture After this patch ...
4 years, 8 months ago (2016-04-15 06:17:09 UTC) #15
Stephen White
https://codereview.chromium.org/1876363005/diff/20001/cc/raster/gpu_rasterizer.cc File cc/raster/gpu_rasterizer.cc (right): https://codereview.chromium.org/1876363005/diff/20001/cc/raster/gpu_rasterizer.cc#newcode115 cc/raster/gpu_rasterizer.cc:115: .gpu.multisampled_render_to_texture && Rather than checking for the absence of ...
4 years, 8 months ago (2016-04-15 14:10:54 UTC) #18
Stephen White
On 2016/04/15 06:17:09, Kimmo Kinnunen wrote: > Before this patch with multisampled render to texture: ...
4 years, 8 months ago (2016-04-15 14:15:25 UTC) #19
Kimmo Kinnunen
On 2016/04/15 14:15:25, Stephen White wrote: > cc/raster/gpu_rasterizer.cc:117: .gpu.chromium_framebuffer_mixed_samples; > Out of curiosity, why do ...
4 years, 8 months ago (2016-04-18 06:16:37 UTC) #20
Stephen White
On 2016/04/18 06:16:37, Kimmo Kinnunen wrote: > On 2016/04/15 14:15:25, Stephen White wrote: > > ...
4 years, 8 months ago (2016-04-18 15:01:57 UTC) #22
Kimmo Kinnunen
On 2016/04/18 15:01:57, Stephen White wrote: > On 2016/04/18 06:16:37, Kimmo Kinnunen wrote: > > ...
4 years, 8 months ago (2016-04-18 19:23:41 UTC) #23
Kimmo Kinnunen
On 2016/04/18 15:01:57, Stephen White wrote: >My inclination is that the > extra > complexity ...
4 years, 8 months ago (2016-04-18 19:31:01 UTC) #24
Stephen White
On 2016/04/18 19:31:01, Kimmo Kinnunen wrote: > On 2016/04/18 15:01:57, Stephen White wrote: > >My ...
4 years, 8 months ago (2016-04-18 22:11:14 UTC) #25
Kimmo Kinnunen
The patch did not improve chalkboard avg_surface_fps, which remains at stable 19 for the device ...
4 years, 8 months ago (2016-04-21 13:47:45 UTC) #26
Stephen White
4 years, 8 months ago (2016-04-21 13:50:37 UTC) #27
On 2016/04/21 13:47:45, Kimmo Kinnunen wrote:
> The patch did not improve chalkboard avg_surface_fps, which remains at stable
19
> for the device I tested.
> It did progres and regress some other measurements, but I don't know which of
> these are useful (stable and meaningful).
> The numbers did not improve as much as with the testcases that I had.
> I uploaded a telemetry change for discussion.

Great, thanks!

> I didn't manage to do a successful tryjob with nexus9, and my local nexus9 is
> not rooted (I don't know if userdebug images are available?). I tested with
> similar device (shield tablet 8).
> 
> Profiling the gpu process, it appears as if with this patch, the gpu process
is
> consuming way less cpu time than without it on chalkboard. It does not
translate
> to FPS, though.

Presumably this would also translate into lower power usage? Telemetry has some
recent additions to measure power, but I'm not sure if we get numbers for
Android
I think it might just be the "battor" device on Mac.

Powered by Google App Engine
This is Rietveld 408576698