MessChess engines start-up
Hello,
Using a low performing laptop (only 2 core CPU) I used to face issues starting up tournaments involving CPU demanding emulated devices (the fast ones, such as the Fidelity EAG v10).
The obvious symptom, in addition to 100% CPU during start of the engine and longer delay until start completed, was the set of parameters was not enabled (usually, this set includes at least emulation speed% & chess computer level): I got an empty window while using the "configure engine" feature.
Restarting the very same engine after having made sure no other program would use too much CPU (including temporarily setting other emulated devices on pause) was a working but uncomfortable workaround.
I recently happened to know: another CB-Emu user faced similar issues despite running a much more powerful core i7. The probable reason why, being he wanted to run several tournaments concurrently, with as many as 6 devices running.
So my weak laptop issue can translate into high use issue even for powerful PCs.
I succeeded in solving it, so maybe this would be useful to share here.
On engine start, data (including options definition, I guess) is fed thru reading the stdin channel; my understanding is this reading runs too fast with regards to the MessChess concurrently starting to run, and sometimes (often with CPU demanding devices) fails to get the complete data. There is not much smart ways to make a lua script sleep a short while to slow it down, a simple one avoiding the need for external extensions or operating system features is to run dummy loops (nested ones seem to enable best time sharing).
Should you face similar issues, download the attached init.lua.txt into your CB-Emu\MessChess\plugins\chessengine directory, then rename the former init.lua to anything else (to keep safe a backup copy), and rename the new version without the .txt suffix (added to enable uploading it within the forum post).
Hope this helps,
Grüß,
Eric
|