5 ms·
IIRC, modern graphics APIs pretty much require you to go through the GPU's present queue to update the screen, so the GPU likely has to be involved anyhow whene
by Jweb_Guru 4y ago
IIRC, modern graphics APIs pretty much require you to go through the GPU's present queue to update the screen, so the GPU likely has to be involved anyhow whenever a draw happens, whether or not it's actually drawn on the GPU. Given that, I'm not sure how you could turn the GPU off during CPU rendering except in circumstances when you would already have been able to turn it off with GPU rendering. But I am basing this on how APIs like Vulkan and Metal present themselves rather than the actual hardware, so maybe there's some direct CPU-rendering-to-screen API that they just don't expose.
- the8472 4y agoOn the M1 the framebuffer is a separate device and can be written to directly[0]. Whether that means the GPU-proper can be powered down I don't know. [0] https://asahilinux.org/2021/08/progress-report-august-2021/#reverse-engineering-dcp https://asahilinux.org/2021/08/progress-report-august-2021/#...
- Jweb_Guru 4y agoInteresting, didn't realize that. This explains some of the weirder present queue requirements, I guess (it doesn't really act like a regular queue). So maybe you really can power down the GPU. I still doubt it would be lower power overall, since IME my M1 GPU takes very little power when I'm not using it intensively, but it's at least possible.