Hello, I am running Wine 1.0 under Fedora 9 x86_64. The problem is that the two mentioned games use a lot of CPU power about 50 % on a 2 Ghz Core 2 Duo. At first I thought this is caused by GDI DirectDraw renderer, but changing to opengl did not help. Also, it is just the same when you configure Diablo to use Direct3D renderer. Does anybody has any idea where can I look for the source of this problem? Warming up the CPU just for fun isn't that cool after all ;) Cheers.
belegdol schrieb:> Hello, > > I am running Wine 1.0 under Fedora 9 x86_64. The problem is that the > two mentioned games use a lot of CPU power about 50 % on a 2 Ghz Core > 2 Duo. At first I thought this is caused by GDI DirectDraw renderer, > but changing to opengl did not help. Also, it is just the same when > you configure Diablo to use Direct3D renderer. Does anybody has any > idea where can I look for the source of this problem? Warming up the > CPU just for fun isn't that cool after all ;) Cheers.Many older games that are programmed for Windows and DOS use busy-wait polling for the input devices, such as the mouse. busy-wait polling means that the program will do nothing, but ask the input ports for new data. This kind of polling causes a CPU usage of 100% (single core, 50% dual core, 25% quad core). It does not matter how fast the CPU is, the program will consume it all. I am pretty sure if you would run these games on windows, the task manager would report the same. Many old DOS games behave this way, but usually in emulators like dosbox you can reduce the cpu cycles the emulator can use. That will then reduce the CPU load. But of course WINE is not an emulator ;) I am pretty sure there are tools for managing the maximum CPU load a program is allowed to take, but I have seen something like that only for big Sun machines so far. I doubt you are trying to play Starcraft on a T1000 ;) So in short: it is no wine problem, but a design decision of the makers of the program at times where one application at the same time was all you could possibly get and where CPU where mostly cooled without an active fan. bye Jochen
On Thu, Jul 31, 2008 at 5:26 PM, belegdol <wineforum-user at winehq.org> wrote:> Hello, > > I am running Wine 1.0 under Fedora 9 x86_64. The problem is that the two mentioned games use a lot of CPU power about 50 % on a 2 Ghz Core 2 Duo. At first I thought this is caused by GDI DirectDraw renderer, but changing to opengl did not help. Also, it is just the same when you configure Diablo to use Direct3D renderer. Does anybody has any idea where can I look for the source of this problem? Warming up the CPU just for fun isn't that cool after all ;) Cheers. >Run starcraft in its own X session at 640x480 and 8 bit color and you will get better performance. John
I can try that, but I thought using opengl ddraw renderer was supposed to solve problems with different colour depths, wasn't it? At least that's what the wiki (http://wiki.winehq.org/DirectDraw) says.
John Drescher wrote:> On Thu, Jul 31, 2008 at 7:01 PM, belegdol <wineforum-user at winehq.org> wrote: > > > I can try that, but I thought using opengl ddraw renderer was supposed to solve problems with different colour depths, wasn't it? At least that's what the wiki (http://wiki.winehq.org/DirectDraw) says. > > > > > I think this depends on you graphics card. If you have intel graphics > or an older Radeon card and some Geforce cards you will not have the > acceleration necessary so the conversion will be done by the CPU. > > JohnFor reference, I have a GeForce Go 7600 here. I will try separate X and see if it helps.
>> I think this depends on you graphics card. If you have intel graphics >> or an older Radeon card and some Geforce cards you will not have the >> acceleration necessary so the conversion will be done by the CPU. >> >> John > > For reference, I have a GeForce Go 7600 here. I will try separate X and see if it helps. >That should be new enough. I am not sure why that does not work. John
perryh at pluto.rain.com
2008-Aug-02 07:05 UTC
[Wine] Starcraft and Diablo II use a lot of CPU power
> Many older games that are programmed for Windows and DOS use > busy-wait polling for the input devices, such as the mouse ... > it is no wine problem, but a design decision of the makers > of the program ...Granted it is primarily caused by the program, but I think Wine *could* do something to reduce the impact: before returning "no input available" from one of these polling (non-blocking) APIs, sleep for, say, 1/10 of a second.