I'm not actually sure about the reason, but try to change https://docs.godotengine.org/en/stable/classes/class_timer.html#class-timer-property-process-callback . Timer is updated every physics frame, it's stated so in the docs. I wonder what happens if we process it every frame.