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

Reply via email to