ID:2490606
 
Applies to:Dream Seeker
Status: Open

Issue hasn't been assigned a status value.
It never made sense to have a set framerate for clients.

It should either automatically match the refresh rate of the client's display, or be as fast as possible, like every game does outside of BYOND.

Also, since client.fps currently has a limit of 100, that would leave out everyone with refresh rates higher than that (it's a growing number, the times are changing).
As far as I recall, client.fps has no documented upper limit, which would mean it has an upper limit of 1000 (since world.tick_lag can get no lower than 1ms). However FPS values higher than 100 are more and more problematic, leaving less time for the system timer to sync and for rendering to happen.

I do like the idea of trying to sync to the monitor's refresh rate or a divisor thereof if feasible.
++
Just noticed that, while setting client/fps higher than 100 gives an "out of bounds" compiler error, it is possible to set client/tick_lag smaller than 0.1.
I suspect that even if you could grab the client's display refresh rate and set client.fps to it (which you probably can, somehow, like with JS), there would still be timing issues and client latency which would still make it not as smooth as it should be. I mean, it's already not as smooth as the host even if you're running two instances of Dream Seeker on the same machine, one connected to the other.