Announcement

Collapse
No announcement yet.

2D performance on 'radeon' vs 'radeonhd'

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

  • 2D performance on 'radeon' vs 'radeonhd'

    Hi,
    I built the current repository versions of 'radeon' and 'radeonhd' and compared the 2D performance on my X1800.

    As you can see, 'radeonhd' blows 'radeon' away on the GtkDrawingArea-Text test, where 'radeonhd' is about 3X faster. I believe there is a serious problem with this aspect of the 'radeon' driver. Conversely, for the GtkDrawingArea-Circles test, 'radeon' is about 3X faster.

    A couple months ago I remember running the same type of comparison and 'radeon' performed better on the same text drawing test, but I don't know when/how the reduced performance started.

    Does anybody have any thoughts or explanation on this?

    EDIT: These were the only options I used...
    Code:
    Option "AccelMethod" "EXA"
    Option "MigrationHeuristic" "greedy"
    Yes, current repository version of DRM.

    Code:
    X.Org X Server 1.5.99.1
    Release Date: 5 September 2007
    X Protocol Version 11, Revision 0
    Build Operating System: Linux 2.6.25-zen0 i686 
    Current Operating System: Linux shocked 2.6.25-zen0 #1 SMP PREEMPT Thu May 1 20:29:16 PDT 2008 i686
    Build Date: 01 May 2008  09:21:00PM
    Radeon:



    RadeonHD:

    Last edited by surfer; 05-02-2008, 05:08 AM.

  • #2
    Which acceleration options were you using for each driver ? You should be able to see in the logs.

    Were you running radeon with a current DRM (ie from git) ? The code in radeon (which will be the code in radeonhd pretty soon) runs a lot faster when it can use the Command Processor (CP) via DRM.

    Comment


    • #3
      Shadowfb (no acceleration) is faster than basic XAA hw acceleration. If you turn on EXA and are using radeon and drm from git, you should see a nice performance boost. For an apples to apples comparison, turn on XAA in both drivers (Option "AccelMethod" "XAA").

      For a really nice performance boost, try grabbing the latest xserver with otayler's glyph patches.

      Comment


      • #4
        The only options I used were "EXA" and "MigrationHeuristic". Latest DRM, mesa, xorg-server from GIT.

        Comment


        • #5
          Originally posted by surfer View Post
          The only options I used were "EXA" and "MigrationHeuristic". Latest DRM, mesa, xorg-server from GIT.
          Can you post your xorg logs? Also, try removing the migrationheuristic option.

          Comment


          • #6
            Wow! Holy shit! I removed the MigrationHeuristic "greedy" option. I didn't expect that to help, then voila. Here are the new results! Very impressive. I guess I wasn't getting much text acceleration before, so I'm going to see if things feel snappier and report later. Also, that ghosting effect when dragging windows across other windows that don't redraw fast enough... that problem seems to have disappeared. Also, textured video is working again! Weird! I guess I missed the memo telling people to stop using this option. :9

            Last edited by surfer; 05-02-2008, 02:03 AM.

            Comment


            • #7
              you should be happy..you are probably getting 10 times the 2d performance of us with nvidia 8800, lol

              Comment


              • #8
                Originally posted by surfer View Post
                Wow! Holy shit! I removed the MigrationHeuristic "greedy" option. I didn't expect that to help, then voila. Here are the new results! Very impressive. I guess I wasn't getting much text acceleration before, so I'm going to see if things feel snappier and report later. Also, that ghosting effect when dragging windows across other windows that don't redraw fast enough... that problem seems to have disappeared. Also, textured video is working again! Weird! I guess I missed the memo telling people to stop using this option. :9
                That option more or less disables acceleration since it avoids migrating pixmaps. It's useful when the driver does not provide an EXA composite hook, since there is less pixmap migration (to/from vram), but it also avoid cases that could be accelerated. The latest radeon exa code offers pretty thorough acceleration, so there's no need for it.

                You'll get another nice aa text boost if you grab the latest xserver with otayler's exa glyph updates. You may already have them depending on when you last updated your xserver from git.

                Comment


                • #9
                  Here are my results from the current X related tools and the radeon driver as of today. 5/15/2008
                  All the test results are either steady or improving... :-)

                  Last edited by surfer; 05-15-2008, 11:33 PM.

                  Comment


                  • #10
                    You'll get another nice aa text boost if you grab the latest xserver with otayler's exa glyph updates. You may already have them depending on when you last updated your xserver from git.
                    How do we build the xserver form git? The same way as mesa, 2D driver and so? I ask because out of the freedesktop wiki it seems to be a bit more complicated than just 'autogen.sh;configure;make install...or am I totally wrong?

                    Comment


                    • #11
                      This is the performance I am getting with my MacBookPro 2.17 GHz, Ubuntu 8.04 and drivers from https://launchpad.net/~tormodvolden/+archive

                      ati driver git 20080510 with XAA
                      Code:
                      GtkEntry - time:  0,09
                      GtkComboBox - time:  6,56
                      GtkComboBoxEntry - time:  5,45
                      GtkSpinButton - time:  0,85
                      GtkProgressBar - time:  0,49
                      GtkToggleButton - time:  2,63
                      GtkCheckButton - time:  2,62
                      GtkRadioButton - time:  3,15
                      GtkTextView - Add text - time: 12,25
                      GtkTextView - Scroll - time:  7,87
                      GtkDrawingArea - Lines - time:  1,15
                      GtkDrawingArea - Circles - time:  5,35
                      GtkDrawingArea - Text - time: 28,90
                      GtkDrawingArea - Pixbufs - time:  3,52
                       --- 
                      Total time: 80,85
                      ati driver git 20080510 with NoAccel
                      Code:
                      GtkEntry - time:  0,09
                      GtkComboBox - time:  6,43
                      GtkComboBoxEntry - time:  5,22
                      GtkSpinButton - time:  0,82
                      GtkProgressBar - time:  0,48
                      GtkToggleButton - time:  2,57
                      GtkCheckButton - time:  2,57
                      GtkRadioButton - time:  3,05
                      GtkTextView - Add text - time: 12,76
                      GtkTextView - Scroll - time: 51,05
                      GtkDrawingArea - Lines - time:  2,05
                      GtkDrawingArea - Circles - time:  7,77
                      GtkDrawingArea - Text - time: 28,43
                      GtkDrawingArea - Pixbufs - time:  3,51
                       --- 
                      Total time: 126,79
                      radeonhd 1.2.1 driver with XAA
                      Code:
                      GtkEntry - time:  0,09
                      GtkComboBox - time: 25,78
                      GtkComboBoxEntry - time: 15,74
                      GtkSpinButton - time:  0,93
                      GtkProgressBar - time:  0,54
                      GtkToggleButton - time:  2,82
                      GtkCheckButton - time: 11,97
                      GtkRadioButton - time: 12,83
                      GtkTextView - Add text - time: 16,61
                      GtkTextView - Scroll - time:  7,70
                      GtkDrawingArea - Lines - time:  2,40
                      GtkDrawingArea - Circles - time: 25,24
                      GtkDrawingArea - Text - time: 28,60
                      GtkDrawingArea - Pixbufs - time:  3,54
                       --- 
                      Total time: 154,79
                      radeonhd 1.2.1 driver with ShadowFB
                      Code:
                      GtkEntry - time:  0,09
                      GtkComboBox - time:  7,16
                      GtkComboBoxEntry - time:  5,90
                      GtkSpinButton - time:  0,83
                      GtkProgressBar - time:  0,48
                      GtkToggleButton - time:  2,66
                      GtkCheckButton - time:  2,84
                      GtkRadioButton - time:  3,55
                      GtkTextView - Add text - time: 12,34
                      GtkTextView - Scroll - time:  7,18
                      GtkDrawingArea - Lines - time:  1,35
                      GtkDrawingArea - Circles - time:  3,90
                      GtkDrawingArea - Text - time:  3,90
                      GtkDrawingArea - Pixbufs - time:  0,25
                       --- 
                      Total time: 52,43
                      The best choice is radeonhd with ShadowFB.

                      A question: why not making ShadowFB the default on radeonhd?

                      Comment


                      • #12
                        We either need to make the acceleration go faster or make shadowfb the default. The plan is to make acceleration go faster

                        That said, shadowfb does run pretty fast and is nice and simple. There are issues having it coexist with 3D though...

                        Comment


                        • #13
                          I noticed you haven't tried 'EXA' acceleration. It will blow your other test results out of the water.

                          Comment


                          • #14
                            Yep. Radeonhd doesn't have the latest EXA code yet, but it will soon. Our testing has shown that you also need a very recent X server (to pick up some glyph cacheing improvements) in order to get the really good performance -- does that match what you are seeing ?

                            Comment


                            • #15
                              I forgot to say I had also tried EXA acceleration (either with radeon and radeonhd) and it's really slow (I interrupted the test because it was too slow). Note that I only upgraded the display drivers; xserver, mesa, drm are all the defaults found in Ubuntu 8.04.

                              Also note I performed the tests with:
                              Code:
                              gtkperf -c 500 -a

                              Comment

                              Working...
                              X