Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kibitzer overloaded when moving quickly through a game #170

Open
Lingepumpe opened this issue Nov 9, 2024 · 3 comments
Open

Kibitzer overloaded when moving quickly through a game #170

Lingepumpe opened this issue Nov 9, 2024 · 3 comments

Comments

@Lingepumpe
Copy link

Lingepumpe commented Nov 9, 2024

When I analyze a game, I typically start the kibitzer engine at the side, and then go through the moves with the arrow keys. If I fast forwards through the game by keeping the arrow key pressed down for a few moves (e.g. fast forwarding to move 40 of the game), the moves are played out quickly on the board as expected, but the Kibitzer seems to get a huge backlog of positions it should look at, so my position might already be at move 40, but the kibitzer is looking at move 10 then 10.5, then 11, then 11.5. It takes a while of waiting for the kibitzer to "catch up" to the actual position on the board.

Expected behavior:
If the kibitzer is still being initialized for position 1.5, and I fast forward to 30, then we should either:

  • Terminate the initializing kibitzer for position 1.5 and replace it with one for the position at move 30 [best solution, but requires aborting the kibitzer]
  • Wait until the kibitzer has initialized for position 1.5, terminate it as done currently, and then move on to position at move 30, skipping the intermediate positions. (small wait, but allows the keep the current behavior of blocking the kibitzer until it has initialized and presumably terminated "cleanly").
@lukasmonk
Copy link
Owner

You mean the following:
https://drive.google.com/file/d/1FJZHJ65bei20T13EotJWpSMLNpu-bCwD/view?usp=drive_link
If this is the case, as you can see I cannot replicate the problem.

@Lingepumpe
Copy link
Author

Lingepumpe commented Nov 10, 2024

You have replicated the issue in your video, but not as extreme as it often is for me. You see it from seconds 15 to 18 of your video. You have the position after Qb6 on the board at second 15, but the kibitzer will re-fresh a few times with some outdated positions from the backlog until finally giving a evaluation for the actual position on the board, at around second 18.

You can also notice it by the kibitzer board still updating to different positions while the main board remains still. You can also see it clearly without the kibitzer board if your kibitzer is in a "best move" setting, not in a candidate setting, because you will produce only a single line (one depth) of output for each intermediate position, but once you are at the correct position where you stopped scrolling it will build multiple lines.

See the attached short video showing it. I guess it also depends on how fast you move through the moves (e.g. your keyboard repeat rate if you keep the arrow button pressed) and maybe on your kibitzer initialization time - I am using latest stockfish.

Screencast.from.2024-11-10.11-08-24.webm

@lukasmonk
Copy link
Owner

Added some code to fix the problem.

@lukasmonk lukasmonk reopened this Nov 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants