Decoupling input polling and logic from visual frame rate

Godot Version

4.2.1

Question

Hello! I’m working on a rhythm game and I was wondering if it was possible to decouple the game logic updates (including input) from the visual frame rate.

Mainly because the reactivity to input and the sounds played are more important than the visuals, and so I’d rather keep a constant 60 fps while all else was updated more frequently.

I’ve seen that the physics updates can be decoupled from the visual and normal process, but from what I’ve seen, the input events trigger right after a normal “process”, thus not updating in the “in-between” frames.

Thanks!

This isn’t implemented yet:

Note that many rhythm games like osu! just take the approach of disabling V-Sync (or using mailbox V-Sync) and rendering as many frames as possible to achieve lower latency and deliver audio events at more accurate timestamps. There’s usually still an user-decided cap in place to ensure this latency doesn’t fluctuate according to scene load during gameplay (and avoid frame queuing due to GPU-bottlenecked scenarios).

Thanks for the reply!

Not the answer I hoped to get, but it answers the question.

I will go with mailbox VSync and a higher framerate and deal with problems as they arise.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.