Why is this topic into the "Outdated / Not implemented" category?
It would be a shame to keep Factorio restrained to 60FPS, since we have 240Hz+ monitors now...
On the other hand, everything I read here seems too complicated to be implemented.
Here's my take :
Just render the frames twice (or more).
Yeah, simple as that, affecting only the main rendering thread :
submit the same frame multiple times to the
GPU.
Here's a modified version of https://www.factorio.com/blog/post/fff-70
![factorio70b.png](./download/file.php?id=79488)
- factorio70b.png (24.92 KiB) Viewed 3269 times
Ok, I know, this is not a true solution, but at least high refresh rates monitors will be used correctly,
and, most importantly, mouse cursors won't be restrained to
60Hz.
(When you are accustomed to
144,
240, or
360Hz, it's really a pain to move your cursor
@60Hz).
I would be happy with this simple feature
"render twice", but of course you could have every multiple of
60FPS :
120,
180,
240,
300,
360,
420,
480, etc... Without affecting other parts of the engine whatsoever :
it's still running at
60UPS, game physics should stay strictly the same across players on the network
(even if some players are
@60FPS and others
@300FPS).
So what's next? Are we getting a real
120+ FPS game ?
Well if this first approach works well, you can imagine a lot of solutions to improve the
"subframes" rendered.
Maybe just the camera position could be updated before
re-rendering (submiting the subframe)?
The camera doesn't seems to have a tick-based physic behaviour.
And if it does, you could easily predict the futur camera position, here in the rendering thread,
without touching the physics and tick-based aspect of the game.
Afterwards it depends on the codebase and you'll know better ! But the smooth camera is a must have.
Time-based shaders (like the new
Ghost shader !?) would look amazing too !
Of course this is not the optimal way of doing this (it should have been planed way ahead),
but I think this approach is easy enough to be tested at least.
Players creating mods to achieve higher framerates have ideas based on the same kind of principle,
but it's more of a hack than a real solution. We need this feature in the core engine !
I hope this could be implemented in the big update comming up, this would be absolutly amazing.
I feel like 100+FPS is the new standard minimum, especially for 2D video games, where this framerate
could be easily reached without the need of an expensive computer.
edit :
I just found https://factorio.com/blog/post/fff-150
"it leaves possibility to free the FPS and UPS, so we can have for example 144 FPS/60 UPS. For example we briefly talked about the possibility of interpolating the position of the player sprite and camera, so very high framerates could make sense sometime in the future."
So are we there yet ? Looks like you guys already addressed the issue years ago.
Why is the game still hardcaped at 60 FPS so ?