Announcement

Collapse
No announcement yet.

AMDGPU & Radeon DDX Updated - Better 2D Performance, Tear Free, DRI3 Default

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

  • #11
    Originally posted by cen1 View Post
    My default XFCE setup tears like a mofo and it's 2016. Who should I blame?
    Yourself. Use a better compositing manager.

    Comment


    • #12
      Originally posted by cen1 View Post
      My default XFCE setup tears like a mofo and it's 2016. Who should I blame?
      Yourself for using a DE you don't actually like?

      Comment


      • #13
        Originally posted by bug77 View Post

        Yourself for using a DE you don't actually like?
        I never said I don't like it. I love it! I just don't love the tearing lol.

        Comment


        • #14
          Originally posted by cen1 View Post
          My default XFCE setup tears like a mofo and it's 2016. Who should I blame?
          There is a option to enable compositing in the settings of XFCE. Enable it and the tearing goes away.

          Comment


          • #15
            Originally posted by bug77 View Post

            Technical implementation doesn't matter. Tearing is caused by your video card rendering more frames than your monitor can show.
            Tearing is when you monitor can display 60 frames each second and your card can render 90. If I fix tearing and make the card render only 60 fps, are you actually loosing performance?
            You can have tearing with 60fps on a 60Hz monitor!

            Tearing happens when the monitor and the gpu are not synced so the gpu renders a new image while the old image is not completely displayed and that's independent from Hz or framerate.
            So the only solution is to synchronize the gpu with the display and that will always cost performance. With single monitor setups vsync is enough to remove tearing, this option is for multi monitor setups where you simply can't sync the gpu with each monitor because they all read the image from the gpu at a different time.

            Comment


            • #16
              As droste said you can have tearing also if the program is rendering frames at the same frequency as the monitor, or slower. It’s just a question of synchronisation. And of course having to wait for the VBL (vertical blank line, aka vertical blank interval) causes a slowdown of sorts, but there is no way around it unless you prefer tearing or have a Freesync or g-sync monitor with the adequate GPU and drivers.

              To mitigate the wait games can use triple buffering, where they start drawing a new frame immediately after the previous one is done. So if frame 1 is shown on screen and frame 2 is ready in backbuffer a, while waiting for the vblank to show frame 2 the game starts rendering frame 3 in backbuffer b. If frame 3 is ready before the next vblank then frame 2 can be dropped and never shown.

              You can reach an equivalent of triple buffering in most games even if they only support double buffering by using your compositor to suppress tearing and setting the game to not do vsync. Coupled with libstrangle to limit games to 60 FPS I’m getting great results.

              Comment


              • #17
                Originally posted by stqn View Post
                To mitigate the wait games can use triple buffering
                The manpage of xf86-video-intel lists an option for triple buffering:

                Code:
                [B]Option "TripleBuffer"[/B] "[U]boolean[/U]"
                              This  option  enables  the use of a third buffer for page-flipping. The third buffer allows applications to run at vrefresh rates even if they occa‐
                              sionally fail to swapbuffers on time. The effect of such missed swaps is the output jitters between 60fps and 30fps, and in the worst  case  appears
                              frame-locked to 30fps. The disadvantage of triple buffering is that there is an extra frame of latency, due to the pre-rendered frame sitting in the
                              swap queue, between input and any display update.
                
                              Default: enabled.
                But the manpage of xf86-video-ati and xf86-video-amdgpu does not.

                bridgman agd5f why not?

                Double buffered VSync suc**. Triple buffering is the way to go for VSync. Nobody wants his framerate to jump between 60, 30, 15, 10 and so on...

                Comment


                • #18
                  Originally posted by bug77 View Post
                  The only way to fix tearing is to slow down the card, keeping it in sync with the monitor
                  actually there is the other way: to slow down the monitor, which is done by amd freesync

                  Comment


                  • #19
                    Originally posted by bug77 View Post
                    Tearing is caused by your video card rendering more frames than your monitor can show.
                    or less
                    Originally posted by bug77 View Post
                    If I fix tearing and make the card render only 60 fps, are you actually loosing performance?
                    performance will not change since you can't see what monitor isn't showing and it was showing 60 fps

                    Comment


                    • #20
                      With triple buffered VSync it doesn't matter what the framerate is, it will always be tear free, even at 43fps@60Hz, 55fps@60Hz, 115fps@120Hz and so on... (although in those cases there still will be some kind of judder due to the pulldown)

                      Comment

                      Working...
                      X