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

Issue 13521006: First pass at Rect Effect (Closed)

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

Description

This CL only adds 'filled' rects as an effect. I would like to deliver it as a checkpoint but not turn it on. There are still some worrying performance issues with it; namely: BEFORE: aarects GPU: cmsecs = 77.60 gmsecs = 48.37 NULLGPU: cmsecs = 63.88 drawpointsdash_5_5_aa GPU: cmsecs = 54.73 gmsecs = 53.64 NULLGPU: cmsecs = 28.01 drawpointsdash_3_1_aa GPU: cmsecs = 71.82 gmsecs = 67.50 NULLGPU: cmsecs = 41.81 drawpointsdash_1_1_aa GPU: cmsecs = 128.37 gmsecs = 111.93 NULLGPU: cmsecs = 116.00 AFTER: aarects GPU: cmsecs = 83.21 gmsecs = 7.50 NULLGPU: cmsecs = 75.41 drawpointsdash_5_5_aa GPU: cmsecs = 64.03 gmsecs = 57.15 NULLGPU: cmsecs = 35.45 drawpointsdash_3_1_aa GPU: cmsecs = 81.66 gmsecs = 73.17 NULLGPU: cmsecs = 50.60 drawpointsdash_1_1_aa GPU: cmsecs = 152.18 gmsecs = 14.32 NULLGPU: cmsecs = 142.01 The regressions seem to be mainly due to increased CPU overhead.

Patch Set 1 #

Patch Set 2 : Improved performance #

Patch Set 3 : fixed overlength lines #

Total comments: 10

Patch Set 4 : Addressed code review issues #

Patch Set 5 : Removed debugging code that crept in #

Patch Set 6 : renamed isOrthogonal to preservesRightAngles #

Unified diffs Side-by-side diffs Delta from patch set Stats (+320 lines, -17 lines) Patch
M include/core/SkMatrix.h View 1 2 3 4 5 1 chunk +6 lines, -0 lines 0 comments Download
M include/gpu/GrAARectRenderer.h View 1 2 3 4 5 3 chunks +9 lines, -1 line 0 comments Download
M src/core/SkMatrix.cpp View 1 2 3 4 5 2 chunks +36 lines, -1 line 0 comments Download
M src/gpu/GrAARectRenderer.cpp View 1 2 3 4 5 2 chunks +215 lines, -0 lines 0 comments Download
M src/gpu/GrContext.cpp View 1 2 3 4 5 5 chunks +45 lines, -13 lines 0 comments Download
M src/gpu/SkGpuDevice.cpp View 1 2 3 4 5 1 chunk +9 lines, -2 lines 0 comments Download

Messages

Total messages: 8 (0 generated)
robertphillips
7 years, 8 months ago (2013-04-05 15:53:43 UTC) #1
jvanverth1
I think we may need to look into optimizing how Effects are set up. I ...
7 years, 8 months ago (2013-04-08 14:58:56 UTC) #2
bsalomon
https://codereview.chromium.org/13521006/diff/9001/include/core/SkMatrix.h File include/core/SkMatrix.h (right): https://codereview.chromium.org/13521006/diff/9001/include/core/SkMatrix.h#newcode97 include/core/SkMatrix.h:97: bool notSkewOrPersp(SkScalar tol = SK_ScalarNearlyZero) const; isOrthogonal()? https://codereview.chromium.org/13521006/diff/9001/src/gpu/GrContext.cpp File ...
7 years, 8 months ago (2013-04-08 15:48:38 UTC) #3
robertphillips
https://codereview.chromium.org/13521006/diff/9001/include/core/SkMatrix.h File include/core/SkMatrix.h (right): https://codereview.chromium.org/13521006/diff/9001/include/core/SkMatrix.h#newcode97 include/core/SkMatrix.h:97: bool notSkewOrPersp(SkScalar tol = SK_ScalarNearlyZero) const; Done - although ...
7 years, 8 months ago (2013-04-08 19:33:20 UTC) #4
bsalomon
"orthogonal matrix" actually means ortho*normal* vectors, so my name was a bad idea.
7 years, 8 months ago (2013-04-08 21:48:41 UTC) #5
bsalomon
lgtm (with name change)
7 years, 8 months ago (2013-04-09 13:39:18 UTC) #6
robertphillips
Renaming done. Committed as r8571
7 years, 8 months ago (2013-04-09 14:02:21 UTC) #7
robertphillips
7 years, 8 months ago (2013-04-25 15:47:24 UTC) #8
Message was sent while issue was closed.
Here are the regressions as of 4/25 with removal of the SkMatrix::reset
overhead. These result from running all the bench marks (at repeat=200 on
MacPro) and removing all the ones with <= .5ms or <=3% timing differences:

               aarects GPU c  46.03  52.28   -6.25 -13.6%
 drawpointsdash_1_1_aa GPU c  81.90  92.93  -11.03 -13.5%
 drawpointsdash_3_1_aa GPU c  37.12  41.73   -4.61 -12.4%
 drawpointsdash_5_5_aa GPU c  26.01  28.90   -2.89 -11.1%
          circles_fill GPU c  15.66  17.21   -1.55  -9.9%
        circles_stroke GPU c  21.68  23.52   -1.84  -8.5%
            lines_1_BW GPU c  10.23  10.90   -0.67  -6.5%
         dash_1_noclip GPU c  16.25  16.84   -0.59  -3.6%
               readpix GPU c  79.22  81.97   -2.75  -3.5%

Powered by Google App Engine
This is Rietveld 408576698