Closed
Bug 1186501
Opened 9 years ago
Closed 8 years ago
bugzilla checkerboards on OS X w/ APZ
Categories
(Core :: Graphics, defect)
Core
Graphics
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: mchang, Assigned: mchang)
References
(Blocks 1 open bug)
Details
(Whiteboard: [gfx-noted])
When scrolling some bugzilla bugs, such as https://bugzilla.mozilla.org/show_bug.cgi?id=1172841, we checkerboard. This is mostly time spent drawing scaled images, bug 1154311. Part of this is that CG scales too slow. From investigatig bug 1155249, it can take up to 100+ ms. On this bugzilla page, it can take 200+ ms.
Some profiles:
Nightly w/ CG backend:
http://people.mozilla.org/~bgirard/cleopatra/#report=29fede938b2ddc874234b6a0e2ddd6b584671b96
Nightly w/ Skia backend:
http://people.mozilla.org/~bgirard/cleopatra/#report=e26dd98290ec514268e36d61d9dff4addd0b7d2d
Skia can be ~3x faster than CG when scrolling bugzilla.
Assignee | ||
Comment 1•9 years ago
|
||
Here is some timings measuring how long it takes to call the drawable at [1] without CSRD with a CG backend.
Regular Drawable w/ CG
Regular drawable time: 17.101884
Regular drawable time: 26.682879
Regular drawable time: 41.183676
Regular drawable time: 60.411246
Regular drawable time: 25.456059
Regular drawable time: 54.728834
Regular drawable time: 16.585522
Regular drawable time: 81.239594
Regular drawable time: 97.843143
Regular drawable time: 25.241616
Regular drawable time: 190.207473
Regular drawable time: 186.015054
Regular drawable time: 49.973632
Regular drawable time: 210.867341
Regular drawable time: 203.920489
Regular drawable time: 191.743822
[1] https://dxr.mozilla.org/mozilla-central/source/gfx/thebes/gfxUtils.cpp?from=gfxUtils.cpp&case=true#671
Assignee | ||
Comment 2•9 years ago
|
||
Same timings, scrolling bugzilla w/ APZ w/ Skia backend:
Regular drawable time: 9.331795
Regular drawable time: 6.644195
Regular drawable time: 12.603062
Regular drawable time: 9.530555
Regular drawable time: 18.712289
Regular drawable time: 2.990693
Regular drawable time: 6.208775
Regular drawable time: 6.633232
Regular drawable time: 6.641707
Regular drawable time: 10.046756
Regular drawable time: 14.812113
Regular drawable time: 21.410304
Regular drawable time: 3.149424
Regular drawable time: 19.155819
Regular drawable time: 3.165345
Regular drawable time: 3.127967
Regular drawable time: 3.624180
Regular drawable time: 12.679421
Regular drawable time: 10.775032
Regular drawable time: 47.560594
Regular drawable time: 80.710716
Regular drawable time: 73.424655
Regular drawable time: 72.496547
Regular drawable time: 68.968230
Regular drawable time: 72.517356
~3x faster.
Assignee | ||
Comment 3•9 years ago
|
||
Same timings with a CG backend, but we scale one intermediate surface, and repeat the scaled intermediate surface.
Scale Intermediate w/ CG
Draw Scaled Image time: 5.718917
Draw Scaled Image time: 11.208186
Draw Scaled Image time: 19.101618
Draw Scaled Image time: 17.078632
Draw Scaled Image time: 13.900280
Draw Scaled Image time: 13.893101
Draw Scaled Image time: 11.107655
Draw Scaled Image time: 12.096150
Draw Scaled Image time: 7.478432
Draw Scaled Image time: 5.352066
Draw Scaled Image time: 7.555185
Draw Scaled Image time: 8.625464
Draw Scaled Image time: 23.184639
Draw Scaled Image time: 20.819044
Draw Scaled Image time: 24.581860
Draw Scaled Image time: 14.070200
Draw Scaled Image time: 13.988282
Draw Scaled Image time: 7.660256
Draw Scaled Image time: 4.967027
Draw Scaled Image time: 18.487178
Draw Scaled Image time: 7.665447
Draw Scaled Image time: 66.230677
Draw Scaled Image time: 40.192577
Draw Scaled Image time: 72.784236
Draw Scaled Image time: 29.285122
Draw Scaled Image time: 63.249865
Draw Scaled Image time: 7.510592
Draw Scaled Image time: 17.276791
Draw Scaled Image time: 5.096366
Draw Scaled Image time: 5.676165
Can be ~3-4x faster, or roughly just using skia.
Assignee | ||
Comment 4•9 years ago
|
||
Same timings, scaling an intermediate surface, tiling the intermediate surface with skia:
Draw Scaled Image time: 2.284806
Draw Scaled Image time: 2.325681
Draw Scaled Image time: 1.764987
Draw Scaled Image time: 1.893706
Draw Scaled Image time: 1.880156
Draw Scaled Image time: 1.906906
Draw Scaled Image time: 1.873985
Draw Scaled Image time: 1.389793
Draw Scaled Image time: 2.094485
Draw Scaled Image time: 1.330126
Draw Scaled Image time: 2.121071
Draw Scaled Image time: 1.332040
Draw Scaled Image time: 2.541563
Draw Scaled Image time: 1.676939
Draw Scaled Image time: 3.165072
Draw Scaled Image time: 2.691432
Draw Scaled Image time: 3.536036
Draw Scaled Image time: 2.431425
Draw Scaled Image time: 4.982088
Draw Scaled Image time: 1.678813
Draw Scaled Image time: 4.925463
Draw Scaled Image time: 2.066480
Draw Scaled Image time: 2.257159
Draw Scaled Image time: 1.452386
Draw Scaled Image time: 2.347731
Draw Scaled Image time: 3.011957
Draw Scaled Image time: 1.653549
Draw Scaled Image time: 6.929488
Draw Scaled Image time: 7.350661
Draw Scaled Image time: 10.002218
Draw Scaled Image time: 10.659667
Draw Scaled Image time: 11.607621
Draw Scaled Image time: 6.525624
Draw Scaled Image time: 7.274104
Draw Scaled Image time: 2.219838
Draw Scaled Image time: 2.881576
Draw Scaled Image time: 1.768754
Draw Scaled Image time: 1.849733
Draw Scaled Image time: 1.371068
Draw Scaled Image time: 1.612341
Draw Scaled Image time: 1.634699
Draw Scaled Image time: 1.613472
Draw Scaled Image time: 1.558230
Draw Scaled Image time: 1.646504
Draw Scaled Image time: 1.626132
Up to 20x faster. I can almost not checkerboard with scaling an intermediate surface and using skia. We should just scale faster on OS X or just use Skia. I'm a bigger fan of not spending time making CG scale faster and use the time to move to skia.
Assignee | ||
Comment 5•9 years ago
|
||
Profile of Scale intermediate surface and repeat w/ skia
http://people.mozilla.org/~bgirard/cleopatra/#report=8e2d7d5d3f4364b6858f2355b5169b656f9f5dd8
No longer see any time spent in draw background.
Mason, are you able to reproduce this?
Assignee | ||
Updated•8 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Flags: needinfo?(mchang)
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•