Dann Corbit wrote: ↑Tue Oct 15, 2019 1:11 am
For very high speed games, sending only the move is a lot better than sending the whole game state including the board.
The best protocol would be a merger of the two, with redundant things thrown out.
I agreed partly. Also sending long lists of moves may make a problem of being exceeded some default input buffers.
However, that redundant is not that bad since it is still tiny compared with huge information a system of engines-chess GUI has to process. Modern engines (such as Stockfish, Lc0) are very "talkative" to print out a lot of info/stats, compared with old-style ones (such as Crafty).
Even processing huge data, it is not a big deal with modern computers of multi-cores/threads too. You can see that many programmers have been testing their UCI engines mostly in very fast games and they usually don't have problems working with long move strings. I have been working on my own chess GUI and observe that it can run concurrently several games, process/parse well all data, save them (in fly) into multi-files (for engines, PGN logs), display them on the screen, update boards, animations, clocks, query opening books, syzygy tablebase (for adjudication), etc...