3 ms·
During the Hotline: Miami run this year the runner mentioned that on certain GPUs the game would crash unavoidably after 25 minutes due to a memory leak, and th
by dejawu 7y ago
During the Hotline: Miami run this year the runner mentioned that on certain GPUs the game would crash unavoidably after 25 minutes due to a memory leak, and that if you wanted to increase the FPS you could plug in more mice.
None of that precluded it from being a great game, though.
https://youtu.be/aPnobTZfnfU https://youtu.be/aPnobTZfnfU
- zentiggr 7y ago> and that if you wanted to increase the FPS you could plug in more mice I am having trouble imagining what sort of event handling bs this might be taking advantage of... I am too vanilla a coder at this point in my life.
- cylon13 7y agoI've been in game dev for 10 years and I'm as stumped as you are.
- desc 7y agoI'm not a game dev, but rough guess: the framerate is artificially limited to some 'sane' range by the equivalent of a short sleep() which is cancelled by an input event. More devices, more events, more chance to prompt the next frame early?
- mitchty 7y agoNot gonna lie that is hilariously ingenious if its the case.
- AstralStorm 7y agoYes, a typical artifact of not resuming the remaining sleep after the event handling. Does not work with pushing random keys only because those are buffered separately.
- Bartweiss 7y agoYep, almost certainly what's happening. It's very common to constrain your central "game loop" for several reasons. A game like Hotline presumably has some basic loop like "process inputs, process events, update AI plans, process AI actions, redraw screen". When the logical tasks are easy (e.g. most of the AIs are dead and you're standing still), that's essentially just a busy-wait that redraws your screen as fast as it can. Constantly maxing system resources is obnoxious, and it can be jarring when things slow back down. 40FPS might look just fine, but you can still 'feel' the change when you ramp up and down from 60FPS, so it's nicer to just cap the whole thing at 40FPS. Mouse inputs probably don't adjust the cap itself, but to avoid laggy responses they're usually interrupts which might refresh the screen. A fun aside: some games fill out the time until the next redraw with more "thinking time" instead of sleep(), which leads to bizarre behaviors like an AI that gets smarter when you turn down the graphics settings.
- bannable 7y agoRendering is likely blocked on mouse interrupts.