So what happens if I set the room speed (and thus the key detection events) to 300 fps and only execute the draw AND step events at 60 fps? Will that still have the same response improvement?
To clarify. My coding situation would be as follows:
1. (from 60 fps to 300 fps) key detection events (=stores key state to variable)
2. (60 fps) step events for AI (=key response / execute movement / execute collisions / etc)
3. (60 fps) draw events
Funny you mention this, because I've tried this before. But the answer is, no, it unfortunately wouldn't help one bit.
The reason why is because - even though the input is detected at the super fast speed and stored at that moment into a variable, the game will still delay in reading that variable and responding to it to make something happen. So you end up with almost exactly the same problem. Even though the input is getting registered earlier, it means nothing if the execution related to the input isn't executed at the same time.
The only thing you'd gain in that case would be totally useless, but it would allow you to lower the room speed to stupidly low levels, then you could hit keys in between room steps and you'd never have any unregistered key presses - everything would always register and execute. But, as I said, this is totally useless because you never want your room speed that low and this is simply no issue at all with 60+ room speed anyway. Even on 30 room speed, it's quite hard to hit a key only in between a room step.-
EDIT: I came back and reread what I said. WTF was I thinking right here?... Um, obviously if the room speed is super low, then the input checks will also be low because input check frequency is determined by room speed. I seriously have no idea how I was being so brainless here. Wow, I must be overworking myself.
-
But anyway, honestly Martijn, I'm kind of sorry I brought this up now, because it's really not THAT good of an improvement, and - after hearing what you've been saying - I believe it's just not worth it, considering how far along your game is. Now, if you were just starting a game, it'd be a different story. I'd totally suggest doing it in that case.
If people have a keyboard with "squishy" keys, it's likely that they couldn't even feel the difference between 60 and 300 room speed anyway. It's a bit more on the subtle side, even in the best case; even if the gamer is totally aware and has a keyboard with tight keys. In many cases, if you were to do some kind of side by side comparison between the old 60 speed version and the new 300 speed one, and if you had people blind test them, they would likely say something like the following about the faster running one: "This feels better, but I don't really know why. Seems a little smoother somehow." But it's actually possible some people might just not feel a difference if they're tired and/or the keyboard is not so tight on the keys. I kind of say this because I just did a test last night while tired and with a crappy keyboard and I couldn't tell the difference myself between 60-300, but I could tell the difference between 30-300 and even between 30-60. However, in the case of 60-300, even though I didn't feel difference between input response, the game still looked noticeably smoother on 300 vs 60, even though in both cases I was drawing only 60 FPS.
But my conclusion after all our conversing is to just forget it anyway. Your game is fine without it. I'm just one of those people who has stupidly high standards.