(Note: I have not looked into the details of CART/TART and their interaction with OMTC)
It's entirely possible that (b) is true *now* -- the test may have been good and proper for the previous environment, but now the environment characteristics were changed such that the test needs tweaks. Empirically, I have not seen any regressions on any of my Windows machines (which is basically all of them); things like tab animations and the like have started feeling smoother even after a long-running browser session with many tabs. I realize this is not the same as cold hard numbers, but it does suggest to me that we need to take another look at the tests now. - Vlad ----- Original Message ----- > From: "Gijs Kruitbosch" <gijskruitbo...@gmail.com> > To: "Bas Schouten" <bschou...@mozilla.com>, "Gavin Sharp" > <ga...@gavinsharp.com> > Cc: dev-tech-...@lists.mozilla.org, "mozilla.dev.platform group" > <dev-platform@lists.mozilla.org>, "release-drivers" > <release-driv...@mozilla.org> > Sent: Thursday, May 22, 2014 4:46:29 AM > Subject: Re: OMTC on Windows > > Looking on from m.d.tree-management, on Fx-Team, the merge from this > change caused a >40% CART regression, too, which wasn't listed in the > original email. Was this unforeseeen, and if not, why was this > considered acceptable? > > As gavin noted, considering how hard we fought for 2% improvements (one > of the Australis folks said yesterday "1% was like Christmas!") despite > our reasons of why things were really OK because of some of the same > reasons you gave (e.g. running in ASAP mode isn't realistic, "TART is > complicated", ...), this hurts - it makes it seem like (a) our > (sometimes extremely hacky) work was done for no good reason, or (b) the > test is fundamentally flawed and we're better off without it, or (c) > when the gfx team decides it's OK to regress it, it's fine, but not when > it happens to other people, quite irrespective of reasons given. > > All/any of those being true would give me the sad feelings. Certainly it > feels to me like (b) is true if this is really meant to be a net > perceived improvement despite causing a 40% performance regression in > our automated tests. > > ~ Gijs > > On 18/05/2014 19:47, Bas Schouten wrote: > > Hi Gavin, > > > > There have been several e-mails on different lists, and some communication > > on some bugs. Sadly the story is at this point not anywhere in a condensed > > form, but I will try to highlight a couple of core points, some of these > > will be updated further as the investigation continues. The official bug > > is bug 946567 but the numbers and the discussion there are far outdated > > (there's no 400% regression ;)): > > > > - What OMTC does to tart scores differs wildly per machine, on some > > machines we saw up to 10% improvements, on others up to 20% regressions. > > There also seems to be somewhat more of a regression on Win7 than there is > > on Win8. What the average is for our users is very hard to say, frankly I > > have no idea. > > - One core cause of the regression is that we're now dealing with two D3D > > devices when using Direct2D since we're doing D2D drawing on one thread, > > and D3D11 composition on the other. This means we have DXGI locking > > overhead to synchronize the two. This is unavoidable. > > - Another cause is that we're now having two surfaces in order to do double > > buffering, this means we need to initialize more resources when new layers > > come into play. This again, is unavoidable. > > - Yet another cause is that for some tests we composite 'ASAP' to get > > interesting numbers, but this causes some contention scenario's which are > > less likely to occur in real-life usage. Since the double buffer might > > copy the area validated in the last frame from the front buffer to the > > backbuffer in order to prevent having to redraw much more. If the > > compositor is compositing all the time this can block the main thread's > > rasterization. I have some ideas on how to improve this, but I don't know > > how much they'll help TART, in any case, some cost here will be > > unavoidable as a natural additional consequence of double buffering. > > - The TART number story is complicated, sometimes it's hard to know what > > exactly they do, and don't measure (which might be different with and > > without OMTC) and how that affects practical performance. I've been told > > this by Avi and it matches my practical experience with the numbers. I > > don't know the exact reasons and Avi is probably a better person to talk > > about this than I am :-). > > > > These are the core reasons that we were able to identify from profiling. > > Other than that the things I said in my previous e-mail still apply. We > > believe we're offering significant UX improvements with async video and > > are enabling more significant improvements in the future. Once we've fixed > > the obvious problems we will continue to see if there's something that can > > be done, either through tiling or through other improvements, particularly > > in the last point I mentioned there might be some, not 'too' complex > > things we can do to offer some small improvement. > > > > If we want to have a more detailed discussion we should probably pick a > > list to have this on and try not to spam people too much :-). > > > > Bas > > > > ----- Original Message ----- > > From: "Gavin Sharp" <ga...@gavinsharp.com> > > To: "Bas Schouten" <bschou...@mozilla.com> > > Cc: "dev-tree-management" <dev-tree-managem...@lists.mozilla.org>, > > dev-tech-...@lists.mozilla.org, "release-drivers" > > <release-driv...@mozilla.org>, "mozilla.dev.platform group" > > <dev-platform@lists.mozilla.org> > > Sent: Sunday, May 18, 2014 6:23:58 PM > > Subject: Re: OMTC on Windows > > > >> but tart will regress by ~20%, and several other suites will regress as > >> well. > >> We've investigated this extensively and we believe the majority of these > >> regressions are due to the nature of OMTC and the fact that we have to do > >> more work. > > > > Where can I read more about the TART investigations? I'd like to > > understand why it is seen as inevitable, and get some of the details > > of the regression. OMTC is important, and I'm excited to see it land > > on Windows, but the Firefox and Performance teams have just come off a > > months-long effort to make significant wins in TART, and the thought > > of taking a 20% regression (huge compared to some of the improvements > > we fought for) is pretty disheartening. > > > > Gavin > > > > On Sun, May 18, 2014 at 12:16 AM, Bas Schouten <bschou...@mozilla.com> > > wrote: > >> Hey all, > >> > >> After quite a lot of waiting we've switched on OMTC on Windows by default > >> today (bug 899785). This is a great move towards moving all our platforms > >> onto OMTC (only linux is left now), and will allow us to remove a lot of > >> code that we've currently been duplicating. Furthermore it puts us on > >> track for enabling other features on desktop like APZ, off main thread > >> animations and other improvements. > >> > >> Having said that we realize that what we've currently landed and turned on > >> is not completely bug free. There's several bugs still open (some more > >> serious than others) which we will be addressing in the coming weeks, > >> hopefully before the merge to Aurora. The main reason we've switched it > >> on now is that we want to get as much data as possible from the nightly > >> channel and our nightly user base before the aurora merge, as well as > >> wanting to prevent any new regressions from creeping in while we fix the > >> remaining problems. This was extensively discussed both internally in the > >> graphics team and externally with other people and we believe we're at a > >> point now where things are sufficiently stabilized for our nightly > >> audience. OMTC is enabled and disabled with a single pref so if > >> unforeseen, serious consequences occur we can disable it quickly at any > >> stage. We will inevitably find new bugs in the coming weeks, please link > >> any bugs you happen to come across to bug 899785, if anything > se > >> ems very serious, please let us know, we'll attempt to come up with a > >> solution on the short-term rather than disabling OMTC and reducing the > >> amount of feedback we get. > >> > >> There's also some important notes to make on performance, which we expect > >> to be reported by our automated systems: > >> > >> - Bug 1000640 is about WebGL. Currently OMTC regresses WebGL performance > >> considerably, patches to fix this are underway and this should be fixed > >> on the very short term. > >> > >> - Several of the Talos test suite numbers will change considerably > >> (especially with Direct2D enabled), this means Tscroll for example will > >> improve by ~25%, but tart will regress by ~20%, and several other suites > >> will regress as well. We've investigated this extensively and we believe > >> the majority of these regressions are due to the nature of OMTC and the > >> fact that we have to do more work. We see no value in holding off OMTC > >> because of these regressions as we'll have to go there anyway. Once the > >> last correctness and stability problems are all solved we will go back to > >> trying to find ways to get back some of the performance regressions. > >> We're also planning to move to a system more like tiling in desktop, > >> which will change the performance characteristics significantly again, so > >> we don't want to sink too much time into optimizing the current > >> situation. > >> > >> - Memory numbers will increase somewhat, this is unavoidable, there's > >> several steps which have to be taken when doing off main thread > >> compositing (like double-buffering), which inherently use more memory. > >> > >> - On a brighter note: Async video is also enabled by these patches. This > >> means that when the main thread is busy churning JavaScript, instead of > >> stuttering your video should now happily continue playing! > >> > >> - Also there's some indications that there's a subjective increase in > >> scrolling performance as well. > >> > >> > >> If you have any questions please feel free to reach out to myself or other > >> members of the graphics team! > >> > >> > >> Bas > >> _______________________________________________ > >> dev-platform mailing list > >> dev-platform@lists.mozilla.org > >> https://lists.mozilla.org/listinfo/dev-platform > > _______________________________________________ > dev-tech-gfx mailing list > dev-tech-...@lists.mozilla.org > https://lists.mozilla.org/listinfo/dev-tech-gfx > _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform