Bug 18128

Summary: MesaLib 7.2 downgrades the performance on i965GM
Product: Mesa Reporter: Vlad Glagolev <enqlave>
Component: Drivers/DRI/i965Assignee: Gordon Jin <gordon.jin>
Status: RESOLVED NOTABUG QA Contact:
Severity: critical    
Priority: medium CC: ixevix
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: xorg.conf
Xorg.conf

Description Vlad Glagolev 2008-10-20 03:50:09 UTC
Created attachment 19756 [details]
xorg.conf

Updating the stuff (xorg-server, mesalib, libdrm, xf86-video-intel) from old (1.4.2, 7.0.4, 2.3.0, 2.3.2) to new (1.5.2, 7.2, 2.3.1, 2.4.2) killed the performance of all.

While launching glxgears I had ~900 fps with my card, now -- not more than 59.

I tried to play with the components: built git-based dri kernel module -- nothing's changed; tried to compile xorg-server 1.4.2 with mesalib 7.2 -- nothing's changed; compiled the latest xf86-video-intel driver (2.4.98.0) -- nothing's changed. Even with the different versions of xorg-server. I also
played with some driver's options in xorg.conf -- no changes at all.

I also noticed the filesize of /usr/lib/dri/i965_dri.so.
With mesalib 7.0.4 -- it's around 14 megabytes; with 7.2 -- only ~1.5 megabytes.

The most known "feature" of "7.0.4 => 7.2" process is full support of i965 chipsets afaik :) So it broke the performance too much.

Everything's tested with Linux kernels 2.6.27.2 and 2.6.24.7 -- no differences.

But only when I install mesalib 7.0.4 instead of 7.2 -- fps grow up to ~900.

p.s. xorg.conf that I've been using all the time (since nov'07 afaik) attached.
Comment 1 Krister Bäckman 2008-10-21 03:47:01 UTC
Created attachment 19781 [details]
Xorg.conf

I have the same problem on xorg-server-1.3.0.0-r6, mesa-7.2, libdrm-2.3.1, xf86-video-i810-2.4.2-r3 on gentoo.

Quake 3 Arena is down to 4fps from playable ~40-50fps.

Kernel is 2.6.25-gentoo-r8
Comment 2 Gordon Jin 2008-10-21 06:46:37 UTC
Vlad, could you try setting vblank_mode to 0 in your ~/.drirc, such as 

<driconf>
 <device screen="0" driver="i965">
         <application name="Default">
                 <option name="vblank_mode" value="0" />
         </application>
 </device>
</driconf>
Comment 3 Vlad Glagolev 2008-10-21 07:16:43 UTC
Thanks for damn fast response, Gordon! :)

Yeah, it works! I've just rebuilt mesalib and the gxlgears' fps grow up from 55 to maximum 648 fps. But this is with xorg-server 1.4.2. Trying to build new xorg-server (1.5.2) with mesalib 7.2 atm.
Comment 4 Vlad Glagolev 2008-10-21 07:25:10 UTC
Well done.

Maximum is still ~650, while with xorg-server (1.4.2) + mesalib (7.0.4) I have ~890 fps.
Comment 5 Krister Bäckman 2008-10-21 11:42:08 UTC
Setting vblank_mode to 0 and upgrading to xorg-server-1.4.2 fixed the performance issue!

Thanks for the workaround!
Comment 6 Gordon Jin 2008-10-21 17:55:58 UTC
So I'm closing this. 
The explanation is the default vblank_mode value changed recently (the old default value is 0), so it's not a true performance downgrade, but a configuration change.
Comment 7 Vlad Glagolev 2008-10-21 18:48:42 UTC
(In reply to comment #6)
> So I'm closing this. 
> The explanation is the default vblank_mode value changed recently (the old
> default value is 0), so it's not a true performance downgrade, but a
> configuration change.
> 

But what about ~900 -> ~650 ?
Comment 8 Gordon Jin 2008-10-21 19:19:52 UTC
(In reply to comment #7)
> But what about ~900 -> ~650 ?

mesa-7.2 gets into TTM-classic mode. It doesn't make much sense to compare performance with classic mode. I'd suggest to hold on until GEM (a new memory manager) landed. Besides, glxgears is not a good benchmark.

Comment 9 Vlad Glagolev 2008-10-22 01:46:17 UTC
(In reply to comment #8)
> mesa-7.2 gets into TTM-classic mode. It doesn't make much sense to compare
> performance with classic mode. I'd suggest to hold on until GEM (a new memory
> manager) landed.

Understood.

> Besides, glxgears is not a good benchmark.

At least when I see the downgrade of FPS in glxgears -- I feel the same in Nexuiz :)

Thanks a lot for explanation!

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.