How does windowed rendering work without a compositor?

751 Views Asked by At

On systems with a compositor, a windowed application must render into an off-screen buffer, which is then submitted to the compositor for composition and presentation. How does displaying a windowed desktop work without a compositor?

Suppose we have a 3D application using double buffering to render into a window, fully redrawing on each frame. This is my understanding of the process of presenting a new frame:

  1. Application submits a frame buffer for presentation.
  2. Compositor receives the buffer.
  3. Later, the compositor composites all the windows into the screen's back buffer.
  4. Compositor swaps the screen's buffers.

What happens after step 1 if there is no compositor? (For example, on Windows without DWM, or on an X server.) Clearly, something is laying out the windows and making sure they render in the correct position and order. How is that different from compositing?

0

There are 0 best solutions below