I'm testing if my engine works under Fritz.
Normally the program starts instantly, but Fritz needs about 8 seconds to load my engine. Is there some command I have to send that the engine is ready? Or what could be the cause of this delay?
procedure TUci.HandleUciCommand(aCommand: TUciCommand);
begin
case aCommand of
ucNone:
begin
// do nothing
end;
ucQuit:
begin
fQuit := true;
end;
ucUci:
begin
WriteString('id name ' + EngineName);
WriteString('id author Eric Langedijk');
WriteString('option name Style type combo default Normal var Solid var Normal var Risky');
end;
ucIsReady:
begin
WriteString('readyok');
end;
end;
end;
Hm well reduced it to 1 second by adding a writestring "uciok".
The chessprogram Delfi also takes 1 second for some weird reason.
It too is writtten in Delphi.
I used about the same code as Delfi. Maybe there's something strange going on.
Crafty starts immediately from the Fritz interface...
You are supposed to write 'uciok' in response to 'uci' from the GUI, however I have noticed that Fritz takes a while to load my engine too and I have always written 'uciok' after displaying the usual id/option values. It must be something within Fritz - my own UCI test harness loads all engines very quickly....
If I remember correctly I had the same problem with the Fritz GUI in the beginning.
To solve it you only need to give Fritz some option to chew on and the start delay should vanish. Just send some fake option like 'option name useInternalOpeningBook type check default false' and Fritz should start immediately.