4 ms·
I think they would need to fully adopt CALayers to get all of the way down to Safari's power usage. >This proposal is a bit hacky. The more pure solution would
by GeekyBear 7y ago
I think they would need to fully adopt CALayers to get all of the way down to Safari's power usage.
>This proposal is a bit hacky. The more pure solution would be to teach the compositor to create CoreAnimation layers for Gecko layers, so that for example the throbber animation gets one CoreAnimation layer that contains all the animation frames in a film strip, plus an offset and clip that only shows the current frame. (That's how the Gecko layers are set up for the throbber animation.) Such a solution would be preferable but it would require much more work in the compositor. The tiling solution that I'm proposing in this bug is easier to implement and a bit more generic, because it treats CompositorOGL compositing as a black box that just produces a framebuffer filled with pixels, along with an invalid region.
https://bugzilla.mozilla.org/show_bug.cgi?id=1491456 https://bugzilla.mozilla.org/show_bug.cgi?id=1491456
If I am following this correctly, when dealing with a small on-screen animation, they are moving from having to repaint the whole window to only repainting a largish chunk of the window.
Adopting CALayers at a deeper level in Gekko would allow them to only update the animation itself.
Doing so would require a good deal of additional work.
- pcwalton 7y agoThere's work going on to adopt Core Animation more deeply in WebRender. Patches in review right now, in fact.
- GeekyBear 7y agoThat's great news. I can see where it would make more sense to do the deeper integration work "where the puck is going" so to speak. I appreciate the work you and your comrades are doing.
- pushrax 7y agoMind linking the patchset?
- pcwalton 7y agohttps://bugzilla.mozilla.org/show_bug.cgi?id=1589512 https://bugzilla.mozilla.org/show_bug.cgi?id=1589512