diff options
author | Patric Stout <truebrain@openttd.org> | 2021-02-17 15:31:09 +0100 |
---|---|---|
committer | Patric Stout <github@truebrain.nl> | 2021-02-19 10:43:15 +0100 |
commit | fa170b9ace1a2f45833627676b0106ee13914bd4 (patch) | |
tree | de0471ae9fcbd98799a1626e178758d7edbd01e7 /src/video/cocoa | |
parent | eb9b1ad68d84ddbebb3d9e50f3ec8d3ad195c75c (diff) | |
download | openttd-fa170b9ace1a2f45833627676b0106ee13914bd4.tar.xz |
Feature: configurable refresh-rate and change default to 60fps
Most modern games run on 60 fps, and for good reason. This gives
a much smoother experiences.
As some people have monitors that can do 144Hz or even 240Hz, allow
people to configure the refresh rate. Of course, the higher you
set the value, the more time the game spends on drawing pixels
instead of simulating the game, which has an effect on simulation
speed.
The simulation will still always run at 33.33 fps, and is not
influences by this setting.
Diffstat (limited to 'src/video/cocoa')
-rw-r--r-- | src/video/cocoa/cocoa_v.mm | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/video/cocoa/cocoa_v.mm b/src/video/cocoa/cocoa_v.mm index 7c8981f61..31bad36dc 100644 --- a/src/video/cocoa/cocoa_v.mm +++ b/src/video/cocoa/cocoa_v.mm @@ -675,20 +675,20 @@ void VideoDriver_Cocoa::GameLoop() if (cur_ticks >= next_game_tick || (_fast_forward && !_pause_mode)) { if (_fast_forward && !_pause_mode) { - next_game_tick = cur_ticks + std::chrono::milliseconds(MILLISECONDS_PER_TICK); + next_game_tick = cur_ticks + this->GetGameInterval(); } else { - next_game_tick += std::chrono::milliseconds(MILLISECONDS_PER_TICK); + next_game_tick += this->GetGameInterval(); /* Avoid next_game_tick getting behind more and more if it cannot keep up. */ - if (next_game_tick < cur_ticks - std::chrono::milliseconds(ALLOWED_DRIFT * MILLISECONDS_PER_TICK)) next_game_tick = cur_ticks; + if (next_game_tick < cur_ticks - ALLOWED_DRIFT * this->GetGameInterval()) next_game_tick = cur_ticks; } ::GameLoop(); } if (cur_ticks >= next_draw_tick) { - next_draw_tick += std::chrono::milliseconds(MILLISECONDS_PER_TICK); + next_draw_tick += this->GetDrawInterval(); /* Avoid next_draw_tick getting behind more and more if it cannot keep up. */ - if (next_draw_tick < cur_ticks - std::chrono::microseconds(ALLOWED_DRIFT * MILLISECONDS_PER_TICK)) next_draw_tick = cur_ticks; + if (next_draw_tick < cur_ticks - ALLOWED_DRIFT * this->GetDrawInterval()) next_draw_tick = cur_ticks; bool old_ctrl_pressed = _ctrl_pressed; |