Bug 19083

Summary: Slow EXA performances
Product: xorg Reporter: Ulhume <artisan.ulhume>
Component: Driver/intelAssignee: Wang Zhenyu <zhenyu.z.wang>
Status: RESOLVED WORKSFORME QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium Keywords: NEEDINFO
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
GTKPerf with EXA
none
GTKPerf with XAA
none
Worg logs with EXA
none
xorg logs with XAA
none
xorg conf
none
dmesg log from boot none

Description Ulhume 2008-12-14 15:52:10 UTC
I found much slower performances using default acceleration (EXA) than with XAA (using Option "AccelMethod" "XAA"). 

Using gtkPerf, global speed is 23s with XAA and 33s with EXA. When digging in tests, its mainly text drawing that have worst results (ex. 4.11s vs 9.79s). 

I tested with different versions :
2.2.1 - default settings - 4.11s
2.5.1 - default settings - 7.83s
2.6.99 - default settings - 9.79s
2.6.99 - Option "AccelMethod" "XAA" - 5.91s
Comment 1 Eric Anholt 2008-12-14 21:34:08 UTC
Needs basic information attached like Xorg.0.log and dmesg.
Comment 2 Ulhume 2008-12-15 00:22:13 UTC
Created attachment 21155 [details]
GTKPerf with EXA
Comment 3 Ulhume 2008-12-15 00:22:43 UTC
Created attachment 21156 [details]
GTKPerf with XAA
Comment 4 Ulhume 2008-12-15 00:23:04 UTC
Created attachment 21157 [details]
Worg logs with EXA
Comment 5 Ulhume 2008-12-15 00:23:26 UTC
Created attachment 21158 [details]
xorg logs with XAA
Comment 6 Ulhume 2008-12-15 00:23:48 UTC
Created attachment 21159 [details]
xorg conf
Comment 7 Ulhume 2008-12-15 00:30:10 UTC
Created attachment 21160 [details]
dmesg log from boot
Comment 8 Ulhume 2008-12-15 00:32:34 UTC
Well, I added as much as I can. Tell me if you need more. 

Xorg conf is the same in both test case, with only the option for switching to XAA to EXA changing. I enabled debug option also. 

For dmesg I take it from boot to xorg with EXA. When restarting XORG with XAA it only adds this :
[drm:i915_getparam] *ERROR* Unknown parameter 5


Regards. 

Comment 9 Wang Zhenyu 2008-12-29 07:37:18 UTC
Ulhume, we're moving to GEM based 2D rendering acceleration UXA to make the most perf out of our hw. So please test with kernel 2.6.28, libdrm 2.4.3, recent xf86-video-intel.

Here's gtkperf result on my 945GM with UXA.
GtkPerf 0.40 - Starting testing: Tue Dec 30 07:50:10 2008

GtkEntry - time:  0.04
GtkComboBox - time:  3.89
GtkComboBoxEntry - time:  3.43
GtkSpinButton - time:  0.74
GtkProgressBar - time:  1.01
GtkToggleButton - time:  2.09
GtkCheckButton - time:  1.47
GtkRadioButton - time:  1.81
GtkTextView - Add text - time:  0.83
GtkTextView - Scroll - time:  0.80
GtkDrawingArea - Lines - time:  1.53
GtkDrawingArea - Circles - time:  2.47
GtkDrawingArea - Text - time:  2.47
GtkDrawingArea - Pixbufs - time:  0.40
 --- 
Total time: 23.00

Comment 10 Ulhume 2008-12-30 00:22:37 UTC
I tried the upgrade but I'm running into problems when the driver try to switch to UXA. In logs I have this :

undefined symbol: exaDriverAlloc

When I switch back to EXA, I can run the server again. Perhaps this is a Mandriva specific problem abour 2.6.28 kernel as with it, display is 3 times slower than with 2.6.27 kernel (gtkperf give me 102s when the same driver give 30s with 2.6.27). 

If you have any hint for me, I'll appreciate. If I have some time I'll try to build a vanilla kernel in order to see if slow down problem is Mandriva specific ou not. 
Comment 11 Wang Zhenyu 2009-01-08 19:16:07 UTC
You might not have a clean build?

The versions for current stable is kernel 2.6.28, libdrm 2.4.3, xf86-video-intel-2.6-branch, xserver-1.6-branch. http://www.x.org/wiki/Development/git has some building info.
Comment 12 Wang Zhenyu 2009-02-03 22:34:14 UTC
ping?
Comment 13 Wang Zhenyu 2009-02-08 18:44:21 UTC
Ulhume, no update? Please try to build with recent releases, kernel, mesa, drm, xf86-video-intel. I close it now, feel free to open if you still see this issue.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.