Hacker News new | ask | show | jobs
by kllrnohj 2318 days ago
Your phrasing of this is a bit unclear. I think you mean that no "real" UI redraws when nothing has changed.

But otherwise most operating systems do run in full GPU mode all the time. The true-mobile ones, so iOS & Android, are almost always using dedicated hardware to handle composition without spinning up the GPU (although both use the GPU to render, so whenever something does change it's immediately back on the GPU), but "desktop" ones are generally always doing GPU composition as long as the display is on. With some hand-wavy exceptions to that primarily for video layers in select circumstances with proper hardware support.

2 comments

Windows is actually pretty good about doing incremental present, only writing the composited regions that have actually changed. But macOS is bad at this, so people have to fake it in ugly ways to reduce power consumption. It's especially bad when all you want to do is blink a cursor.

Whether apps make use of these capabilities are another question. It's pretty easy to get lazy and blat out the whole window every time, when you know the GPU can handle the pixel bandwidth, and things like imgui explicitly make this tradeoff to keep logic simple.

TIL hardware planes (the "dedicated hardware" you refer to?) != the GPU.

I presume these are inside the GPU die, though? Probably near the display controller logic?

Whether or not it's inside the GPU die would depend on if the display controller is part of the GPU die or not. On a mobile SoC everything tends to be on the one die anyway so... sure. On a discreet desktop GPU I have absolutely no idea. They might not even bother having one at all?

The mobile ones though are pretty good, though. They can do like ~6 composition layers with alpha blending, cropping, rotation, and apply a color matrix for display calibration. All in the dedicated HWC silicon, GPU can be powered off (or doing something else like rendering a game)