Thanks Avi!
I can reproduce a regression like this (~100% slower on
iconFade-close-DPIcurrent.all) with my machine forced to use the intel
GPU, but not with the Nvidia one.
This suggests it's very much a driver/hardware specific problem, rather
than a general regression with OMTC, which matches Bas' original
observations.
Doing some profiling using my intel GPU suggests that my specific
regression has to do with uploading and drawing shadows. I'm seeing ~45%
of the OMTC profile [1] in nsDisplayBoxShadowOuter::Paint vs ~8% in the
non-OMTC profile [2]. It's hard to tell exactly where the slowdown is
because samples within the driver are breaking our unwinding code, but I
suspect it's probably the upload to the GPU not handling the
threads/contention well. I suspect a simple box-shadow cache would work
wonders here.
I don't know how will this will translate to the TBPL results though,
does anyone know what GPU's and drivers we are running there?
- Matt
On 30/05/14 2:14 pm, avi...@gmail.com wrote:
So, wrt TART, I now took the time to carefully examine tab animation visually
on one system.
TL;DR:
- I think OMTC introduces a clearly visible regression with tab animation
compared to without OMTC.
- I _think_ it regresses more with tab close than with tab open animation.
- The actual throughput regression is probably bigger than indicated by TART
numbers.
The reason for the negative bias is that the TART results are an average of 10
different animations, but only one of those is close to pure graphics perf
numbers, and when you look only on this test, the regression is bigger than
50-100% (more like 100-400%).
The details:
System: Windows 8.1 x64, i7-4500u, using Intel's iGPU (HD4400), and with
official Firefox nightly 32bit (2014-05-29).
First, visually: both with and without ASAP mode, to my eyes, tab animation
with OMTC is less smooth, and seems to have lower frame rate than without OMTC.
As for what TART measures, of all the TART subtests, there are 3 which are most
suitable for testing pure graphics performance - they test the css fade-in and
fade-out (that's the close/open animation) of a tab without actually opening or
closing a browser tab, so whatever performance it has, the limit comes only
from the animation itself and it doesn't include other overheads.
These tests are the ones which have "fade" in their name, and only one of them
is enabled by default in talos - the other two are available only when running TART
locally and then manually selecting animations to run.
I'll focus on a single number which is the average frame interval of the entire animation
(these are the ".all" numbers), for the fade animation at default DPI (which is
1 on my system - so the most common).
What TART measures locally on my system:
OMTC without ASAP mode (as out of the box config as it gets):
iconFade-close-DPIcurrent.all Average (5): 18.91 stddev: 0.86
iconFade-open-DPIcurrent.all Average (5): 17.61 stddev: 0.78
OMTC with ASAP:
iconFade-close-DPIcurrent.all Average (5): 18.47 stddev: 0.46
iconFade-open-DPIcurrent.all Average (5): 10.08 stddev: 0.46
While this is an average of only 5 runs, stddev shows it's reasonably
consistent, and the results are also consistent when I tried more.
We can already tell that close animation just doesn't get below ~18.5ms/frame
on this system, ASAP doesn't affect it at all. We can also see that the open
animation is around 60fps without ASAP (17.6 can happen with our inaccurate
interval timers) and with ASAP it goes down to about 10ms/frame.
Without OMTC and without ASAP:
iconFade-close-DPIcurrent.all Average (5): 16.54 stddev: 0.16
iconFade-open-DPIcurrent.all Average (5): 16.52 stddev: 0.12
Without OMTC and with ASAP:
iconFade-close-DPIcurrent.all Average (5): 5.53 stddev: 0.07
iconFade-open-DPIcurrent.all Average (5): 6.37 stddev: 0.08
The results are _much_ more stable (stddev), and quite lower (in ASAP) and closer to 16.7
in "normal" mode.
While I obviously can't visually notice differences when the frame rate is
higher than my screen's 60hz, from what I've seen so far, both visually and at
the numbers, I think TART is not less reliable than before, it doesn't look to
me as if ASAP introduces very bad bias (I couldn't deduct any), and OMTC does
seem regress tab animations meaningfully.
- avih
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform