ultralight-ux / Ultralight

Lightweight, high-performance HTML renderer for game and app developers.
https://ultralig.ht
4.65k stars 194 forks source link

Add support for partial redraws to improve power efficiency #198

Open adamjs opened 4 years ago

adamjs commented 4 years ago

We currently use a full-screen GPU compositor with individual layers being repainted on GPU as-needed, and Metal/OpenGL/D3D repainting the composited result to the window's entire backbuffer each frame. On systems with both integrated GPUs and high-resolution displays, this results in quite a lot of memory bandwidth which seems to place a significant impact on power draw, see: https://mozillagfx.wordpress.com/2019/10/22/dramatically-reduced-power-usage-in-firefox-70-on-macos-with-core-animation/

We should implement support for partial redraws to the main framebuffer (currently this is only possible on macOS using the CALayer/IOSurface approach described above and Windows D3D11+).

SupinePandora43 commented 2 years ago

Isn't it possible with EGL too?