Announcement

Collapse
No announcement yet.

AMD Radeon 2D Performance On Linux Remains Mixed

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

  • AMD Radeon 2D Performance On Linux Remains Mixed

    Phoronix: AMD Radeon 2D Performance On Linux Remains Mixed

    The results in yesterday's article, AMD Radeon Gallium3D Starting To Out-Run Catalyst In Some Cases, were interesting but limited to OpenGL games. In this article are more test results from the same system configuration and Ubuntu Linux releases but now taking a look at the 2D performance of the open and closed-source AMD Radeon Linux graphics drivers...

    http://www.phoronix.com/vr.php?view=MTMwMDY

  • #2


    The driver weakness when it comes to 2D (catalyst may be op for OpenGL, but its horrible for X11/XRender) is the reason I don't consider buying AMD processors anymore.
    The experience with SNA (intel's new 2D acceleration architecture) has been so smooth, its a real pain to see the software-only rendering of Catalyst or the EXA based radeon driver moving pixmaps between VRAM and RAM back and forth.

    Comment


    • #3
      Assume you are only talking about APUs here ? Discrete GPUs have separate physical memory for VRAM and system memory so moving often is unavoidable if you want to take advantage of the higher performance.

      Comment


      • #4
        I lost all interest with the other article at this point:

        For an AMD Radeon HD 4800 series graphics card, the current state of the open-source graphics driver on Linux is beginning to outperform an old AMD Catalyst driver from 2010 for select Linux OpenGL games.

        Comment


        • #5
          Originally posted by Marc Driftmeyer View Post
          I lost all interest with the other article at this point:
          I think the key point here is that performance on the "old Catalyst driver" is expected to be similar to that of the latest Catalyst driver. Most of the performance gains from Catalyst releases come in the first couple of years after HW launch.

          Comment


          • #6
            As I am using a fairly similar card (Radeon HD 4670) I gained a whole lot of interest upon reading that.

            Comment


            • #7
              The amazing XRender performance is something I noticed about a year ago when I was switching my Radeon Mobility X700 into the "low-power" PowerPlay mode. The KWIN XRender performance was still fantastic and really didn't lose much performance at all in the low power mode of the GPU which was exciting as you could still have some nice desktop effects while still being power efficient. The only thing it really lacked was vsync. For that, I just switched to the "high performance" mode of the GPU and then set KWIN to use OpenGL + vsync.

              I heard XRender isn't supported on Wayland, IMO, that's a real downer for anybody with older hardware.

              Anyway, the AMD open source drivers are pretty nice and works better than Windows Vista / Windows 7 on the same hardware. When you run Windows you don't even have the option to change the power mode in PowerPlay when you're plugged into AC power. You only get the option when you're running on battery.

              I just wish UVD would work on the open source drivers . I've got an Intel CPU in one of my new laptops and the VA-API accelerations save a lot of power. It's also an open source graphics driver. Not sure why Intel can release open source VA-API accelerations for their cruddy graphics hardware and AMD can't.
              Last edited by Sidicas; 02-14-2013, 12:41 AM.

              Comment


              • #8
                Originally posted by bridgman View Post
                Assume you are only talking about APUs here ? Discrete GPUs have separate physical memory for VRAM and system memory so moving often is unavoidable if you want to take advantage of the higher performance.
                Basically I was talking about EXA beeing quite broken. It switches between GPU and CPU rendering like mad, moving the pixmap contents between CPU and GPU memory domains every time.
                Therefore, I am quite curious about the future direction of implementing X11 on top of OpenGL (glamor?). However, at least what can be seen now on intel-hardware, layering on top of opengl has iots toll performance-wise too..

                Comment


                • #9
                  Yeah, EXA definitely has some limits. In a way that shows how much progress has happened recently... EXA was the shiny new thing that solved a lot of our 2D problems (including the removal of dedicated 2D hardware from PC GPUs) only a few years ago.

                  Discussion about X acceleration over OpenGL (or Gallium3D) seems to have started again recently, presumably based on recent experience working with SI support which does use glamor. General problem though seems to be that there are multiple options (glamor plus a couple of Gallium3D state trackers and those are just the recent ones) and none of them are being used enough to build a sufficient community around them.

                  Comment


                  • #10
                    Originally posted by bridgman View Post
                    Yeah, EXA definitely has some limits. In a way that shows how much progress has happened recently...
                    EXA was the shiny new thing that solved a lot of our 2D problems (including the removal of dedicated 2D hardware from PC GPUs) only a few years ago.
                    Except that it never really worked well. I remember running real-world benchmarks back in 2008/2009 where XAA came out miles ahead EXA, simply because XAA fell back to pixman for everything except solid fills
                    Avoiding all the performance traps of EXA was a major hurdle when designing the Java-XRender rendering backend.

                    Discussion about X acceleration over OpenGL (or Gallium3D) seems to have started again recently, presumably based on recent experience working with SI support which does use glamor. General problem though seems to be that there are multiple options (glamor plus a couple of Gallium3D state trackers and those are just the recent ones) and none of them are being used enough to build a sufficient community around them.
                    I have no real bias towards a solution. I just hope it will provide more solid performance than what is currently there. Just recently a friend of mine complained how horrible JQuery javascript windows perform on FireFox/Linux whereas in VirtualBox running Windows on the same machine everything is fast and smooth. Performance currently is so bad, people really notice it. I really hope that will change, whatever path the radeon driver will take...
                    Probably its not worth accelerating XRender/X11 at all, just providing hooks to some basic fillrate limited operations like XCopyArea and maybe XRenderComposite with some clever memory management behind it.

                    Regards, Clemens
                    Last edited by Linuxhippy; 02-16-2013, 09:28 AM.

                    Comment


                    • #11
                      I get suspicious when anyone uses "real world benchmarks" and X in the same sentence because there is such a mix of drawing paths used in a running system today. My experience was that XAA ran benchmarks faster but the user experience was better with EXA (although that would obviously be biased by my own usage patterns).

                      One of the depressing things was that shadowfb still outperformed pretty much everything in a lot of scenarios, especially benchmarks, although it is obviously not a complete solution on its own. IIRC we've looked at accelerating just a couple of functions as you suggested (basically targetting fills, scrolls and blits) but that doesn't really work for discrete GPUs since the cost of moving between CPU and GPU domains is so much higher.

                      Some days I wish the trend towards drawing everything in OpenGL and ignoring X's drawing functions would move a little faster
                      Last edited by bridgman; 02-16-2013, 10:26 AM.

                      Comment


                      • #12
                        Originally posted by bridgman View Post
                        Some days I wish the trend towards drawing everything in OpenGL and ignoring X's drawing functions would move a little faster
                        Sorry for hikacking this discussion

                        For Java we have 3 backends supported on Linux.
                        - X11 (these days it basically falls back to XShmPutImage all the time)
                        - XRender
                        - OpenGL

                        Although I've written the XRender backend, I would clearly prefer to move to OpenGL directly.
                        However, beside being a lot slower than XRender for the typical small 2D primitives (text!!) the driver quality is a major issue.
                        Its broken with every other driver release, regardless of the manufacturer. Its something we can make available to early adaptors using a command-line switch, but certainly not enable it by default.
                        Things important for 2D simply don't get a lot attention.

                        All in all I really wish you the best for the Radeon driver. I am looking forward when those 2D performance issues will be a thing of the past and ... well ... I won't buy a new laptop for the next ~3 years ... I would be really happy if a Steamroller++ design would fit my needs

                        Regards

                        Comment


                        • #13
                          This was the kind of hijack that makes it worth coming here, no worries.

                          One possible side effect of using glamor for X rendering is that the same kinds of issues which affect the Java OpenGL backend might be caught more quickly. Of course there are other possible side effects as well, including deciding that using glamor is too much of a pain

                          Comment

                          Working...
                          X