I think we should shift the conversation to how we actually animate here. 
Animating by trying to reflow and repaint with 60fps is just a bad idea. This 
might work on very high end hardware, but it will cause poor performance on the 
low-end Windows notebooks people buy these days. In other words, I am pretty 
sure our animation here was bad for a lot of our users pre-OMTC.

OMTC enables us to do smooth 60fps animations even under high load and even on 
very low end hardware, as long we do the animation right. So lets focus on that 
and figure out how to draw a tab strip that doesn’t hit pathological repainting 
paths.

I see two options here. We have to change our UX such that we can execute a 
smooth animation on the compositor (transforms, opacity changes, filter 
effects, etc), or we should draw the tab strip with canvas, which is more 
suitable for complex custom animations than reflow.

Andreas

On May 29, 2014, at 10: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