Results 1 to 7 of 7

Thread: poor 2d performance with radeon

  1. #1
    Join Date
    Sep 2013
    Posts
    8

    Default poor 2d performance with radeon

    I run "x11perf -all" to test the 2d performance. using "radeon" driver, the result show that the performance lower than using "fbdev" driver's . In most test cases, the performance of using "radeon" radeon is slightly less than that of using "fbdev" driver. But in some test cases, the performance of using "fbdev" driver is twice that of using "radeon" driver.

    But when i run "glxgears" , the performance of using "radeon" driver is 50 times than that using "fbdev" driver.

    so, is the 2d performance normal for my system ?? I need a QT project in my system , which need high 2d performance. I am dissatisfied with the 2d performance with radeon. what can i do ??

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

    Default

    Be aware that "real world 2D performance" and "x11perf performance" are increasingly different things. You might do better to test with something that uses a drawing stack closer to that of your intended application.

    Same goes for "real world 3D performance" and "glxgears performance", but that seems to be more broadly understood.

  3. #3
    Join Date
    Sep 2013
    Posts
    8

    Default

    Quote Originally Posted by bridgman View Post
    Be aware that "real world 2D performance" and "x11perf performance" are increasingly different things. You might do better to test with something that uses a drawing stack closer to that of your intended application.

    Same goes for "real world 3D performance" and "glxgears performance", but that seems to be more broadly understood.
    Thank you. I found that using radeon driver ,the performance of some tests is 8 times than that using "fbdev" driver.
    But drawing dot and drawing small pixel region, the performance of using radeon driver is very poor.. It is a contrastive analysis below

    1: using fbdev driver
    2: using radeon driver

    1 2 Operation
    -------- -------- ---------
    41700000.0 2420000.0 Dot
    4910000.0 2440000.0 1x1 rectangle
    1880000.0 2440000.0 10x10 rectangle
    37100.0 490000.0 100x100 rectangle
    1550.0 14700.0 500x500 rectangle
    2250000.0 1650000.0 1x1 stippled rectangle (8x8 stipple)
    357000.0 341000.0 10x10 stippled rectangle (8x8 stipple)
    5390.0 5560.0 100x100 stippled rectangle (8x8 stipple)
    223.0 232.0 500x500 stippled rectangle (8x8 stipple)
    2300000.0 1680000.0 1x1 opaque stippled rectangle (8x8 stipple)
    532000.0 486000.0 10x10 opaque stippled rectangle (8x8 stipple)
    10600.0 10200.0 100x100 opaque stippled rectangle (8x8 stipple)
    452.0 438.0 500x500 opaque stippled rectangle (8x8 stipple)
    2800000.0 1580000.0 1x1 tiled rectangle (4x4 tile)
    542000.0 15600.0 10x10 tiled rectangle (4x4 tile)
    9230.0 8950.0 100x100 tiled rectangle (4x4 tile)
    387.0 3600.0 500x500 tiled rectangle (4x4 tile)

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

    Default

    Quote Originally Posted by Top_lee View Post
    Thank you. I found that using radeon driver ,the performance of some tests is 8 times than that using "fbdev" driver.
    But drawing dot and drawing small pixel region, the performance of using radeon driver is very poor.. It is a contrastive analysis below
    Software rendering is almost always faster most most X rendering operations regardless of the driver. The problem is a lot of older X ops map poorly to modern hardware or they are used so seldomly in modern apps they are not accelerated. What kills performance is ping-ponging of data between the CPU and GPU. It's almost always faster to do everything on the GPU or everything on the CPU. The data migration required for mixed GPU and CPU renderng kills performance.

  5. #5
    Join Date
    Sep 2013
    Posts
    8

    Default

    Quote Originally Posted by agd5f View Post
    Software rendering is almost always faster most most X rendering operations regardless of the driver. The problem is a lot of older X ops map poorly to modern hardware or they are used so seldomly in modern apps they are not accelerated. What kills performance is ping-ponging of data between the CPU and GPU. It's almost always faster to do everything on the GPU or everything on the CPU. The data migration required for mixed GPU and CPU renderng kills performance.
    what I should do to Improve performance . I have a database in my system , which store map data. My application using QT get the data in the database and display it. I using fbdev driver before, found display slowly. so I changed the driver to radeon, but display slowly than that before...should I change my application code source using modern API ??

    There I have some other problems with x11perf test. I will post a new thread to discuss it. .

  6. #6
    Join Date
    Dec 2007
    Posts
    2,341

    Default

    Quote Originally Posted by Top_lee View Post
    what I should do to Improve performance . I have a database in my system , which store map data. My application using QT get the data in the database and display it. I using fbdev driver before, found display slowly. so I changed the driver to radeon, but display slowly than that before...should I change my application code source using modern API ??
    Ideally use something like OpenGL. If you want to use X rather than GL, you'd need to profile your app and see what ops it's using and why they are slow; then, implement or optimize support for those ops in either EXA or glamor.

  7. #7
    Join Date
    Sep 2013
    Posts
    8

    Default

    Quote Originally Posted by agd5f View Post
    Ideally use something like OpenGL. If you want to use X rather than GL, you'd need to profile your app and see what ops it's using and why they are slow; then, implement or optimize support for those ops in either EXA or glamor.
    Thank you. I will do it at your suggestion . I also have some problems with my x11perf test here. could you give me some advice, or show me the right direction ?

Posting Permissions

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