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

Issue 12475007: Reduce the minimum scratch size to 16, don't look for next pow2 larger sizes. (Closed)

Created:
7 years, 9 months ago by bsalomon
Modified:
7 years, 9 months ago
Reviewers:
robertphillips
CC:
skia-review_googlegroups.com
Visibility:
Public.

Description

Reduce the minimum scratch size to 16, don't look for next pow2 larger sizes. Committed: https://code.google.com/p/skia/source/detail?r=8007

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2 lines, -12 lines) Patch
M src/gpu/GrContext.cpp View 2 chunks +2 lines, -12 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
bsalomon
Guillem Gangolells in IMG DevTech showed that smaller scratch sizes give better/same performance on a ...
7 years, 9 months ago (2013-03-06 16:09:34 UTC) #1
robertphillips
lgtm - it might be useful to paste the performance numbers here.
7 years, 9 months ago (2013-03-06 16:17:37 UTC) #2
bsalomon
Committed patchset #1 manually as r8007 (presubmit successful).
7 years, 9 months ago (2013-03-06 16:35:51 UTC) #3
bsalomon
7 years, 9 months ago (2013-03-06 16:49:25 UTC) #4
Message was sent while issue was closed.
On 2013/03/06 16:17:37, robertphillips wrote:
> lgtm - it might be useful to paste the performance numbers here.

Here is the part of the report for two canvas2d tests on Android:

Change 1 - Lowering the scratchpad floor down to 16:
From MIN_SIZE = 256 to MIN_SIZE = 16
Change 2 - Preventing textures to double the size while looking for a cached
scratch:
Comment the lines: //desc.fWidth *= 2; and //desc.fHeight *= 2;
Some numbers from two benchmarks (Cvperf and Asteroids) after the changes:

Galaxy Nexus (PowerVR SGX540):
ContentShell_vanilla.apk:
Cvperf: ~0.348
Asteroids bench: ~163

ContentShell_16x16.apk (Change 1):
Cvperf: ~0.382
Asteroids bench: ~228

ContentShell_16x16_and_no_doubling.apk (Change 1 + 2):
Cvperf: ~0.425
Asteroids bench: ~292
Nexus 4 (Ardeno 320):
ContentShell_vanilla.apk:
Cvperf: ~1.06
Asteroids bench: ~420

ContentShell_16x16_and_no_doubling.apk (Change 1 + 2):
Cvperf: ~1.18
Asteroids bench: ~512

Powered by Google App Engine
This is Rietveld 408576698