What the framerate limiter does

The game now times every frame being rendered, and allocates 1000000000/ nanoseconds per frame. If it detects it having spent less than this on any frame, it will spend the remaining time rebuilding chunks.

On the lowest setting (40), it will also sleep for a certain period of time each frame. This setting is intended for people with laptops or graphics cards prone to overheat.

If the game doesn’t have any pending chunk rebuilds, it will run uncapped.

This means that the framerate can be higher than the cap (except for in the 40 setting), but that it usually will be slightly lower than the cap because it’s very difficult to tell ahead of time how long a chunk rebuild will take. I chose “90” as the default because it should usually end up with an framerate of just above 60 fps (good for people who play the game vsynched) and will let the game spend as much time as possible rebuilding chunks.

There is a bug currently with the limiter where it will often rebuild a minimum of two chunks per frame, which is twice as many as before.

I wouldn’t at all mind adding a setting that works the way it did in the past, but I’m worried people might think “uncapped” is automatically better. Some might prefer having daytime brightness changes happening faster, but not realize that they should run the game at a capped framerate.

posted 11 years ago