Closed
Bug 974407
Opened 12 years ago
Closed 12 years ago
Find out why customize mode transition is smoother without d2d and HWA.
Categories
(Firefox :: Toolbars and Customization, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: mconley, Unassigned)
References
(Depends on 1 open bug)
Details
(Whiteboard: [Australis:P-])
I've got two copies of Win 7 - one on a desktop machine, and one in a VM on my Macbook. I've been doing customize mode perf work on both, and I've been pretty confused by the behaviour on them - specifically, something that helps on one doesn't seem to help on the other.
For example, in [1], I commented that adding a 2 second delay to the transition smoothed things out considerably for my Windows 7 VM, and that it supported the idea that the transition itself is not intrinsically difficult to layout or paint.
That same delay didn't have nearly the same effect on my desktop machine.
One thing that was immediately obvious was that my VM does not have D2D or HWA capabilities, whereas my desktop PC does.
Using a local run of CART, I notice a pretty substantial difference in performance between both configurations.
Here's a matrix of CART results:
No d2d, no HWA:
1-customize-enter.half.TART Average (10): 21.75 stddev: 5.45
1-customize-enter.all.TART Average (10): 39.71 stddev: 4.81
1-customize-enter.error.TART Average (10): 250.56 stddev: 19.92
2-customize-exit.half.TART Average (10): 24.01 stddev: 5.79
2-customize-exit.all.TART Average (10): 32.71 stddev: 2.94
2-customize-exit.error.TART Average (10): 206.64 stddev: 16.49
Yes d2d, Yes HWA:
1-customize-enter.half.TART Average (10): 35.93 stddev: 19.39
1-customize-enter.all.TART Average (10): 66.15 stddev: 11.13
1-customize-enter.error.TART Average (10): 472.08 stddev: 126.61
2-customize-exit.half.TART Average (10): 30.24 stddev: 5.02
2-customize-exit.all.TART Average (10): 50.98 stddev: 3.81
2-customize-exit.error.TART Average (10): 346.29 stddev: 28.54
No d2d, Yes HWA:
1-customize-enter.half.TART Average (10): 29.79 stddev: 4.11
1-customize-enter.all.TART Average (10): 42.91 stddev: 4.15
1-customize-enter.error.TART Average (10): 280.05 stddev: 27.18
2-customize-exit.half.TART Average (10): 29.89 stddev: 7.68
2-customize-exit.all.TART Average (10): 36.29 stddev: 1.71
2-customize-exit.error.TART Average (10): 230.01 stddev: 21.16
Yes d2d, no HWA:
1-customize-enter.half.TART Average (10): 48.97 stddev: 15.39
1-customize-enter.all.TART Average (10): 110.16 stddev: 14.35
1-customize-enter.error.TART Average (10): 720.96 stddev: 91.84
2-customize-exit.half.TART Average (10): 47.16 stddev: 18.87
2-customize-exit.all.TART Average (10): 64.21 stddev: 11.04
2-customize-exit.error.TART Average (10): 481.17 stddev: 88.58
Looking at this matrix, it looks like both HWA and d2d negatively impact performance of the transition. I would have expected the opposite.
I'll gather some profiles.
[1]: https://bugzilla.mozilla.org/show_bug.cgi?id=972921#c1
| Reporter | ||
Comment 1•12 years ago
|
||
| profiles | ||
SPS Profiles:
No d2d, no HWA:
http://people.mozilla.org/~bgirard/cleopatra/#report=ff47b030ac7b8c5acdf26b44984d61d08b42a8bc
Yes d2d, yes HWA:
http://people.mozilla.org/~bgirard/cleopatra/#report=4f528310b6fb47bb19a7d3baa8950900960f6a84
Two more coming...
| Reporter | ||
Comment 2•12 years ago
|
||
| profiles | ||
| Reporter | ||
Comment 3•12 years ago
|
||
These profiles have no symbols, so they're garbage. Let me make some with symbols.
| Reporter | ||
Comment 4•12 years ago
|
||
Oh wait, nevermind - they have symbols, it's just the Direct2D symbols that I'm missing.
| Reporter | ||
Comment 5•12 years ago
|
||
So one big difference between d2d enabled and disabled is the cost of drawing text.
According to jrmuizel, what we're seeing is expensive subpixel anti-aliasing when drawing text on transparencies - so I'd have to guess this is coming from the background tab labels.
| Reporter | ||
Updated•12 years ago
|
Whiteboard: [Australis:P-]
| Reporter | ||
Comment 6•12 years ago
|
||
Just a note that the configuration of Yes d2d, no HWA, is not a configuration that we support, so we'll be ignoring it from here on it.
Disabling subpixel AA seems to have improved the scores when d2d is enabled:
1-customize-enter.half.TART Average (10): 24.55 stddev: 9.34
1-customize-enter.all.TART Average (10): 54.43 stddev: 20.80
1-customize-enter.error.TART Average (10): 563.05 stddev: 174.83
2-customize-exit.half.TART Average (10): 23.64 stddev: 6.17
2-customize-exit.all.TART Average (10): 40.74 stddev: 3.87
2-customize-exit.error.TART Average (10): 349.57 stddev: 50.71
| Reporter | ||
Comment 7•12 years ago
|
||
Pushed a POC patch to try to see how much disabling subpixel AA will affect CART:
Baseline: https://tbpl.mozilla.org/?tree=Try&rev=fa48d6ebc486
With patch: https://tbpl.mozilla.org/?tree=Try&rev=306fd5b6afb6
Compare-talos: http://compare-talos.mattn.ca/?oldRevs=fa48d6ebc486&newRev=306fd5b6afb6&server=graphs.mozilla.org&submit=true
| Reporter | ||
Comment 8•12 years ago
|
||
Comparing the results from this last push to the push from bug 974607 that disabled subpixel AA entirely, they look quite similar. This suggests that we can get the performance benefits of disabling subpixel AA and encapsulate it entirely within the customize mode transition.
I like that. I think I'm going to go that route, unless there's a real need here to disable subpixel AA in certain cases on the platform level.
| Reporter | ||
Comment 9•12 years ago
|
||
We traced this to subpixel AA in bug 974607, so this investigation is closed.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•