Okay this is going to be a hard bug to resolve, because it's tough to pin down. I'm on Win 10 64bit, and for the past few versions of Pico-8, games have been having this input dropping issue every so often. It's definitely in v0.2.4 (original, no b c d), and may be in v0.2.3 or earlier, but the recent stat(28) raw input addition makes me think it started happening around that time.
What happens: you're playing a game normally, then you lose all control for a few seconds. The game is still updating and drawing, but mashing keyboard keys does nothing. I could record the next time it happens, but it's random AND rare, and all you'd see is the game running with the player standing still. After a few seconds, input starts working again.
Why this sucks to debug: not only do you have to be paying active attention to the game, you also don't know when it's going to happen. Sometimes you just think you messed up and pressed the wrong buttons, since it's hard to be sure, and everything is normal after a few seconds. But this is a critical btn/btnp bug that's severely reducing the quality of gameplay, so it needs to be fixed. The best I can do to help is say that I'm playing in windowed mode on the left half of the screen, there are no alerts or Windows messages that might be grabbing focus (as far as I know), and the issues occur long into a gameplay session (sometimes a half-hour or more between drops?).
Could be related to integer overflow, though this feels more random than that. The Lua code of a few games I checked are just btn/btnp'ing every frame, so it's not user error. Could also be the window losing focus, but I run this computer lean and don't have any kind of discord/antivirus/other popups ever show up in the notification bar, and pico-8 was focused in the taskbar. I'll try adding read_controllers_in_background=1
to see if that fixes things, but it may take a while for me to encounter the bug again, and it was happening before v0.2.4c was ever posted. I'm honestly not sure what else it could be, no other program on my computer has this input dropping issue.
Just encountered the bug again, so here's extra info:
- it only lasted one second before it fixed itself. I was pressing the right arrow key the entire time, and the player was moving, then stopped and stood still, then moved again. Game continued to update the entire time, so not frame lag.
- it happened about five minutes into a play session, so not integer overflow.
- I checked the Windows action center for any hidden notifications, and the most recent one was four minutes prior, so that's not it either. Likely not a focus losing issue.
I have no clue what this could be caused by now. Since input not getting through the message queue would keep the key state as it was, Pico-8 seems to be entering a default 0 state for input instead. Failure case?
This is still on v0.2.4(a), fyi. I haven't tried newer settings yet because I wanted to pin down the problem better first.
Intel CPU and NVidia GPU (+ integrated intel), so unlikely a hardware issue. Especially since this input drop only happens in the Pico-8 exe, and not in any other program I've used on this PC.
I am using an older graphics driver due to a serious memory leak in the latest version, but I don't think that would be related to keyboard input drops. The graphics keep running at 30/60 fps, it's only input that's breaking, so no crash log or anything. Unless you mean something windows-specific that I'm not familiar with?
[Please log in to post a comment]