mrspoon wrote: > > jeffz wrote: > > A lot of games will run at 100% trying to get the best possible framerate, if you turn on vsync to limit it to your monitor or some games let you set a limit for the fps you'll probably see a drop in cpu usage. > > > That may be true in some cases, but I've often seen games which are pegged at 100% CPU whilst the GPU is relatively idle and the framerate is low. > > For example, when playing Dungeon Seige 2 under Wine at 800x600, say, I'll get ~15fps on average, with the CPU at 100% (on a P4 3.0GHz / nv7900GS). Ramp that up to 1680x1050 and it'll go down to ~13fps, barely a scratch less, and far less than I can get under Windows. > > Given that the framerate is essentially the same at both resolutions, the GPU isn't being stretched at all when run at the lower resolution, despite pushing 3.5x less pixels, so it must be getting capped purely by the CPU. > > I'll do an oprofile run on it some time soon, although that will probably just tell us that the nvidia module is using the cycles. I have no experience of using it though. > > Perhaps an 'strace -c' would be more useful. Anyone have experience of using/interpreting that with Wine? > > Alternatively, perhaps we can use the d3d WINEDEBUG channel to profile what D3D functions are being called most often, as a guide to what needs optimising. > > > Regards, > Rob The 100% cpu you might see could just be the mainloop of the game. Setting a limit on the framerate usually inserts or increases a delay in this loop, therefore consuming less cpu if it is not so busy. But yeah, oprofile should give you some definite information.