Page 1 of 3 123 LastLast
Results 1 to 10 of 26

Thread: 2D slowness in r500 radeon EXA?

  1. #1
    Join Date
    Feb 2008
    Location
    Linuxland
    Posts
    5,269

    Default 2D slowness in r500 radeon EXA?

    After using my new PCIE R500 card with radeon for some weeks I can post some results. Compared to the previous Matrox G450 PCI.

    First, image quality is noticably lower. I know this is not related to drivers, but one would expect other companies to have catched up to a 9 year old card way after it's release.

    Second, on my CRT I notice "waves" sometimes. This could be from the driver, but also from the weak CRTC of current cards.

    3D is of course way faster; the Matrox had opengl 1.2 but for most things it was only barely faster than software rendering. Comparing OpenArena, the Matrox had 640x480 all low @ 80 fps, and now my X1300 Pro has 1024x768 all high @ 110 fps (GL 1.3 in the driver, 2.0 in the HW).

    Now the main point. 2D is not "slow" per se, but it is noticably slower than vesa with shadowfb or my old Matrox with it's XAA accel. It takes maybe 2-4 times longer to show windows contents, resize, or open a new tab in Opera for example. It is only noticable because I got used to the old speed; but should it not be faster, not slower?

    It has EXA over XAA. It has the bandwith of PCIE 16x vs the bandwith of PCI (133 mib/s -> 4000 mib/s). It has way more ram (32mb -> 256mb). And it's not from the generation that does 2d completely on the 3d engine; it still has a dedicated 2d chip. And the card itself is 7 years newer, has way more power, has better memory (DDR -> DDR2).

    Am I out of the line expecting improved 2d performance, not a degradation, from a newer card? Is this something that is caused by the driver, or is this the sad reality?


    PS: Radeon devs, don't take this too hard, I do appreciate the tear-free XV that supports 4kx4k video (G450 XV could not play anything over 1024 in width)

  2. #2
    Join Date
    Oct 2007
    Location
    Toronto-ish
    Posts
    7,540

    Default

    You need a pretty recent X server to take advantage of EXA and get the good 2D performance. Not sure if you need 1.6 or 1.599-something but certainly older X servers don't run so good.

    Not sure if this is the problem in your case but something to check.

  3. #3
    Join Date
    Feb 2008
    Location
    Linuxland
    Posts
    5,269

    Default

    Running 1.5.1 currently, I'll wait till a formal release of 1.6 is out before wandering there

    Trying different things from git trunks has the tendency of checking out during times when components do not work together well, or right in the middle of a commit series, etc.

    Is the X server the only cause?

  4. #4
    Join Date
    Dec 2007
    Posts
    2,402

    Default

    EXA has preformed well for me for a while now. xserver 1.5 should be fine for the most part. 1.6 mainly improves font rendering preformance. Are you using kde 4 by any chance? IIRC kde 4 uses render bits that aren't accelerated with EXA at the moment.

  5. #5
    Join Date
    Feb 2008
    Location
    Linuxland
    Posts
    5,269

    Default

    I'm using JWM

  6. #6

    Default

    I had the same performance problem with old kernels. Make sure you are using at least radeon kernel module 1.29:
    Code:
    ~$ dmesg | grep drm
    [   51.116330] [drm] Initialized drm 1.1.0 20060810
    [   51.146754] [drm] Initialized radeon 1.29.0 20080613 on minor 0
    [   51.998257] [drm] Setting GART location based on new memory map
    [   51.999989] [drm] Loading R500 Microcode
    [   52.000118] [drm] Num pipes: 1
    [   52.000132] [drm] writeback test succeeded in 1 usecs

  7. #7
    Join Date
    Feb 2008
    Location
    Linuxland
    Posts
    5,269

    Default

    I am using 2.6.28 and the module that comes with (1.29):
    bash-3.2$ dmesg | grep drm
    [drm] Initialized drm 1.1.0 20060810
    [drm] Initialized radeon 1.29.0 20080528 on minor 0
    [drm] Setting GART location based on new memory map
    [drm] Loading R500 Microcode
    [drm] Num pipes: 1
    [drm] writeback test succeeded in 1 usecs
    [drm] Num pipes: 1
    [drm] Loading R500 Microcode
    [drm] Num pipes: 1
    bash-3.2$ uname -a
    Linux Valinor 2.6.28-laxy #1 SMP Wed Jan 7 19:23:38 EET 2009 x86_64 Intel(R) Pentium(R) Dual CPU E2160 @ 1.80GHz GenuineIntel GNU/Linux

  8. #8
    Join Date
    Dec 2007
    Posts
    2,402

    Default

    You can trace where the driver is falling back to software by editing radeon_exa.c and changing:
    #define RADEON_TRACE_FALL 0
    to
    #define RADEON_TRACE_FALL 1

    then fallbacks will be logged in your xorg log. (note your log could get really big).

  9. #9
    Join Date
    Feb 2008
    Location
    Linuxland
    Posts
    5,269

    Default

    Would that be useful? I mean, wouldn't you already know those?

  10. #10
    Join Date
    Dec 2007
    Posts
    2,402

    Default

    Quote Originally Posted by curaga View Post
    Would that be useful? I mean, wouldn't you already know those?
    EXA works fine for most people (myself included). This would determine what your set of apps is doing to cause a slowdown, assuming the slowdown is fallback related.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •