3 ms·
> Double buffering is always enabled; there is no such thing as “single buffering” in modern computer graphics. Technically there is, it's called front-buffer
by kllrnohj 9y ago
> Double buffering is always enabled; there is no such thing as “single buffering” in modern computer graphics.
Technically there is, it's called front-buffer rendering and there's specs for it (look up EGL_SINGLE_BUFFER or EGL_KHR_mutable_render_buffer). The only practical usage of it, and the only reason the spec exists at all, is for time-warping in VR where the warp is done race-the-beam style so to speak on a per eye basis (as in, while the left eye is being scanned out do the time warp for the right eye)
Granted this is unrelated to OS desktop composition, but hey, the more you know :)
In terms of OS desktop composition windowed vs. fullscreen this is actually something mobile solved, or at least Android did I don't know if iOS is the same or not. By shifting final composition to the hardware compositor and using extensions such as EGL_EXT_swap_buffers_with_damage only the area of the screen that was damaged gets updated & re-composited. Desktop has been pretty stubborn and slow to adopt similar systems, Intel only recently added a HWC fast path at all and only for video playback.
- LeoNatan25 9y agoCool, thanks! As far as I know, windows on iOS are similar to fullscreen windows on Mac, as in each app has its own surface where it renders, and SpringBoard has a window which serves as a host for BackBoard to draw.