And we aggressively Z-cull the whole scene. So we paint every pixel only once, modulo transparent geometry.
-
-
If the composition results have to be written out to memory, it's less efficient (This is more so for system, not app level composition)
1 reply 0 retweets 0 likes -
Replying to @erincandescent @oshepherd and
Who said anything has to be read back to main memory?
1 reply 0 retweets 0 likes -
If you're doing composition on the GPU, you have to write out a framebuffer to memory so scanout can read it.
1 reply 0 retweets 0 likes -
Replying to @erincandescent @pcwalton and
Composition hardware doesn't have this step (it *is* the scanout hardware)
2 replies 0 retweets 0 likes -
Replying to @erincandescent @oshepherd and
Yes, if your problem is literally compositing rectangles of pixels, then solving the problem at scanout level is faster.
2 replies 0 retweets 0 likes -
Replying to @pcwalton @oshepherd and
But modern UIs consist of complex scene graphs, not rectangles of pixels.
1 reply 0 retweets 0 likes -
Replying to @pcwalton @oshepherd and
This is why compositors are a bad fit for browsers: the CSS model is a complex scene graph, not pixels of rectangles.
1 reply 0 retweets 0 likes -
Yup, until you need to go cross process. Or scroll one viewport inside another
1 reply 0 retweets 0 likes -
Replying to @erincandescent @oshepherd and
We solved both problems in WebRender. Export display lists across IPC, and have the notion of scroll roots deeply integrated into rendering.
2 replies 0 retweets 0 likes
You have to export display lists for security anyway. The GPU driver can’t be accessible from content, or you’re worse than (Google) Chrome.
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.