http://bugs.winehq.org/show_bug.cgi?id=6936
--- Comment #26 from Anastasius Focht focht@gmx.net 2007-11-28 04:10:00 --- Hello again,
another option would be to use a newer emule version (> 0.47c). I fetched the 0.48a source code just to look at the usual MFC brain damage and it seems they improved the idle processing situation a bit (in my opinion not enough). By filtering a specific amount of WM_TIMER to prevent idle processing overkill, the generated CPU load is reduced by a few points.
If you don't want to use a newer version because you have own modded/hacked emule version, you can of course "backport" the changes. Look for CemuleApp::IsIdleMessage, only a few source lines. Though I would recommend trimming idle handling a bit more aggressively.
Lastly you could filter WM_KICKIDLE in wine by yourself and "eat" a specific amount using diff ticks to enforce a specific idle message rate. Though I wouldn't really recommend this change because its somewhat intrusive and might break other applications.
Regards