noticing an interesting feedback loop in the web: all the major engines were built on software renderers, which leads to certain optimizations and perf characteristics, which leads to web pages which rely on that, which pushes web engines to need/want those opts, and so on
I actually pretty much entirely disagree with your take—the biggest problem is that we don’t control the OS compositor, so we need invalidation and so forth in order to get good energy efficiency. We’ve already proven that you can get good FPS in the repaint-everything case.
-
-
I am certain we haven't? Tons of cases where a page just slaps 5+ text-shadows on something and we fall over completely. *even* if we cache the blurs, just compositing them is too expensive. glenn is heads down working on picture caching because we have so many of these bugs!
-
I knew you were going to bring up that case :) That is easy to fix: just cache the blurs together. Much easier than picture caching. The reason why we need picture caching, in my view, is energy efficiency, not to get 60 FPS.
-
caching the blurs together *is* picture caching?
-
Picture caching is a lot more than just text shadows. That’s why it’s been so much work to implement.
-
ok sure, but it's just "the right" solution to the text-shadow issue, in the same way that MIR was "the right" solution to borrowck, even though it wasn't a technical requirement :)
-
also energy efficiency is technically a requirement to hit 60fps -- my macbook pro can't even play fullscreen videos at 60fps when it starts thermal throttling :(
-
A lot of it is that we are at the mercy of what the OS compositor (in this case, Core Animation) supports. You basically have to tile traditionally or eat one or more full window blits every frame.
-
I feel like if I have to eat crow, not considering the hidden tax of the OS compositor is the biggest issue. Fortunately it’s fixable. Also note that Gecko is terrible at using the OS compositor right now and WR will be an improvement there.
- 2 more replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.