New issue
Advanced search Search tips
Starred by 6 users
Status: Accepted
Area: ----
Priority: Medium
Type: Defect

Sign in to add a comment
Performance difference in drawlooper with multiple blurs
Reported by, Jun 5 2013 Back to list
It appears that the lower-level drawRect methods are not appropriately rejecting clipped rect draws in some cases. In particular the new raster-side fast path for drawing blurred rects doesn't perform a cull step.
This bug manifests itself as a performance difference in drawing a rect with multiple blurs either as 1 4-deep draw looper vs. 4 1-deep draw loopers (with the 1 4-deep case being slower than expected). 
This can be reproduced in Skia by modifying the kWidth and kHeight constants in the megalooper GM to be 2000x2000. The generate the .skps via:
gm -p <out-dir> --match megalooper
This will generate 3 skp files (megalooper_[0x0 | 4x1 | 1x4]). Next run bench_pictures on the resulting .skps to see the performance variation.
This CL (Added megalooper GM - has some timings on Win7. 
This CL ("Fix" for megalooper "bug" - has a preliminary fix.  It has been paused in favor of fixing the problem at a lower level.
Project Member Comment 1 by, Jun 5 2013
Robert, okay if I assign this to you?
Project Member Comment 2 by, Aug 16 2013
Status: Accepted
Project Member Comment 3 by, Dec 7 2015
Labels: Hotlist-Fixit
Project Member Comment 4 by, Jun 9 2017
Sign in to add a comment