Hacker News new | ask | show | jobs
by TronPaul_ 3836 days ago
144hz monitor here. Pretty sure the game is tuned for 60fps and thus 144hz monitor is playing like turbo speed.
3 comments

Same :) requestAnimationFrame is a very short tick on 144hz monitors.
What would be the best way to throttle fps and ensure compatibility between different refresh rates?
You count the time since the last update, wait for the time to accumulate over the update threshold, run the update loop with a fixed time-slice enough times to match whole number of frames. Let the carry over perpetuate to the next frame.

At 144hz with a fixed time-slice set for 60hz, you'd have one update on the 2nd, 4th, 7th, 9th, 12th, 14th, etc. frames.

The best way is usually to not tie game state to frame ticks. See Bethesda's Creation Engine https://www.youtube.com/watch?v=Yuyp-S7FPNI for why that's a bad idea.
Does RAF really run at 144hz on those monitors? That's surprising... and means I probably need to fix some code before those get more common.
It's a W3C recommendation that it runs at the native refresh rate of the monitor. I made a pen not too long ago for comparing different types update loops for different browsers. http://codepen.io/SeanMcBeth/pen/MaMjbZ

I tried to stick to statically allocated values, but there is clearly some sort of GC happening in Firefox. Chrome is stable, but Internet Explorer is extremely noisy.