Announcement

Collapse
No announcement yet.

The May 2012 Open-Source Radeon Graphics Showdown

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #41
    Btw does anyone know why tear-free display is so expensive (on linux) reducing the fps by a factor of two?

    Comment


    • #42
      Just retested vdrift with/without vblank_mode=0 and am getting 30fps for both. WTF...

      Comment


      • #43
        Originally posted by log0 View Post
        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.

        Comment


        • #44
          But why are Windows people not griping about performance vs tearing?

          I understand that the problem is generic, but Windows appears to have had it solved long ago. Why is that solution so elusive for Linux?

          Comment


          • #45
            Originally posted by phred14 View Post
            But why are Windows people not griping about performance vs tearing?

            I understand that the problem is generic, but Windows appears to have had it solved long ago. Why is that solution so elusive for Linux?
            Windows supports flip queues and a much more advanced presentation layer, the open source stack does not yet.

            Comment


            • #46
              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"?

              Comment


              • #47
                Originally posted by phred14 View Post
                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.

                Originally posted by phred14 View Post
                and why can't it be done in X/mesa/drivers?
                It can, it's just a lot of work.

                Comment

                Working...
                X