If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
Btw does anyone know why tear-free display is so expensive (on linux) reducing the fps by a factor of two?
It's not a Linux problem per se. Tear-free is slow because you can only flip between frames as fast as the refresh rate on your monitor. If you miss a vblank window, you half the FPS because the next flip won't happen until the next vblank period. The next frame has to wait until the flip happens before it can render. For smoother vblanked rendering you really need a flip queue rather than just double buffering. The app then renders frames as fast as it can and the completed frames enter the queue to be displayed and there is no waiting for the previous flip.
What is a "flip queue", (I can start guessing, but I'd like to see a non-guess.) and why can't it be done in X/mesa/drivers?
My guess says that you render off-screen, and put a pointer to that off-screen buffer into a "flip queue". Then during each blank interval they display the most recent entry and discard any stale entries. That then says that compositing might be a part of this.
Will Wayland/Weston correspond more directly to the "more advanced presentation layer"?
What is a "flip queue", (I can start guessing, but I'd like to see a non-guess.)
See comment #47. You basically render as fast as you can and queue up completed frames for display so there is less waiting for flips compared to double buffering. It's basically triple or more buffering.