Hi,
winword.exe apparently uses a while (PeekMessage()) loop.
Both wineserver and 1 wine thread take up 90% CPU even if idle.
This adds a timeout of 10 milliseconds so we are still interactive,
but do not take up as much CPU. (We basically wait 1 timeslice if 100HZ
scheduling).
Ciao, Marcus
Changelog:
if application is polling with PeekMessage() wait
10 milliseconds if no events are there so we don't spin
at 100% CPU.
Index: message.c
===================================================================
RCS file: /home/wine/wine/windows/message.c,v
retrieving revision 1.104
diff -u -r1.104 message.c
--- message.c 2001/05/16 19:52:31 1.104
+++ message.c 2001/05/18 20:56:17
@@ -1255,7 +1255,7 @@
#endif
/* check for graphics events */
if (USER_Driver.pMsgWaitForMultipleObjects)
- USER_Driver.pMsgWaitForMultipleObjects( 0, NULL, FALSE, 0 );
+ USER_Driver.pMsgWaitForMultipleObjects( 0, NULL, FALSE, 10 );
QUEUE_Unlock( msgQueue );
WIN_RestoreWndsLock(iWndsLocks);
---------------------------------
kling gut...ist aber eher für wine gedacht und ich weis nicht ob das bei dir auch funktioniert. mal schauen was wir noch haben.
---------------------------------
http://support.microsoft.com/?scid=/supp…s/q320/5/36.asp
---------------------------------
schon das neueste service pack gezogen? ;D
---------------------------------
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q318036
---------------------------------
guck mal, das ist sogar für word2002.... wenn wir nur wüssten welche version du hast?