Original Post
This is a decent article trying to quantify a not-uncommon problem with video games; unresponsive or laggy controls. I like that this issue is being examined and measured and I hope that game companies will try to measure this before releasing their games in the future. However, the article made some claims I wasn't sure of. Namely, they state that 67ms is the minimum latency for a 60fps game, and 100ms for a 30fps game. For example, this basic game loop:
while running:
handle_inputs()
draw_frame()
cap_framerate_to_60() Reading the inputs happens immediately before drawing the frame. If the button was pressed immediately before handle_inputs polls for events (and ignoring inherent latency in hardware or operating system), the latency is only however long it takes to run handle_inputs() and draw_frame() (and for the monitor to refresh). There's no reason that would be 67ms! For a 60fps game, it would be at most 16.7ms. Even if the input was given shortly after handle_inputs polls for inputs, it still only takes the time of at most 2 handle_inputs(), two draw_frames() and a cap_framerate_to_60(), which will be at most 33ms. I'd be comfortable adding in another frame or maybe the two that the article gives based on latency from hardware and operating system, but I see no reason to give this 67ms as some hard minimum. A game with a quick update and draw functions (which is capped at 60fps by v-sync) could have almost immediate responses with less than a frame of latency, depending on when in the loop you pressed the button. So how do they come up with such set-in-stone numbers? Is there some justification for the additional 33ms of hardware and other latency inherent outside of the game or does that number just come from thin air? Or am I missing something in my analysis of the minimum latency? Furthermore, I find that subtracting out the response time of the screen is a little naive - the human mind still sees that as part of the latency and developers should be developing for what people are playing on, not some theoretical perfect monitor.