Hi, I've had a look at various performance counters of my nvidia card with nvperfkit and nvperfgraph while running half-life 2. The first thing I noticed was that the gpu was approximately 75% to 90% idle, while one cpu core was 100% busy and the other completely idle. More to that later.
The other interesting thing was that "OGL driver waiting" was at 100% and agp usage was beyond what nvperfgraph could show. This seems to happen with any application that uses opengl in wine, including very simple d3d apps(Moto racer 2, Direct3D1) and opengl apps(Jedi academy). when the application quits the counters fall back to 0 immediately.
On the other hand, a native Linux application(ut2004, 64 bit) does not cause any change in the driver waiting and the agp usage stays at zero. (makes me wonder a bit how useful those counters are). For wine it is enough to successfully create a d3d device or opengl context. Just a IDirect3D9::CreateDevice does it.
Regarding the 75% idle, I think that is comparably ok. Native ut2004 shows the same behavior. So either the games are broken, or I have a way to overpowered gpu(geforce 7600) for my cpu(athlon 64 X2 dual core 3800+).
Any ideas regarding the agp usage? Could a badly chosen pixel format cause the trouble?
Cheers, Stefan
On Wed, 14 Feb 2007, Stefan Dösinger wrote: [...]
Regarding the 75% idle, I think that is comparably ok. Native ut2004 shows the same behavior. So either the games are broken, or I have a way to overpowered gpu(geforce 7600) for my cpu(athlon 64 X2 dual core 3800+).
You really need to compare that to what you get on Windows (but maybe this is what you mean by 'native ut2004' having the same problem?). Otherwise it could also mean that our some part of Wine is taking way too much CPU compared to Windows. Maybe Direct3D or too much ping pong between Wine and the Wine server, or something else.
Am Mittwoch 14 Februar 2007 10:16 schrieb Francois Gouget:
On Wed, 14 Feb 2007, Stefan Dösinger wrote: [...]
Regarding the 75% idle, I think that is comparably ok. Native ut2004 shows the same behavior. So either the games are broken, or I have a way to overpowered gpu(geforce 7600) for my cpu(athlon 64 X2 dual core 3800+).
You really need to compare that to what you get on Windows (but maybe this is what you mean by 'native ut2004' having the same problem?). Otherwise it could also mean that our some part of Wine is taking way too much CPU compared to Windows. Maybe Direct3D or too much ping pong between Wine and the Wine server, or something else.
Yes, I thought about that. Though atm I am more interested about the reported agp usage, which behaves differently in linux apps.
Actually, wined3d usually takes only 5% cpu time in nice games, the rest is split up on the game and 3d driver(usually 60% driver, 35% game). I think that windows uses some marshalling to move the driver to another thread, which will help on dual core machines.
I think its time to get a windows license for my other machine :-/