mirror of
https://github.com/minetest/minetest.git
synced 2025-03-06 20:48:40 +01:00
Don't use fps_max_unfocused for the pause menu
Nowadays, we have things like buttons that change appearance on hover, or scoll bars in the pause menu. These do not work fine with low fps.
This commit is contained in:
parent
a57677120a
commit
191cb117f9
4 changed files with 7 additions and 7 deletions
|
@ -256,8 +256,8 @@ fps_max (Maximum FPS) int 60 1 4294967295
|
|||
# Vertical screen synchronization. Your system may still force VSync on even if this is disabled.
|
||||
vsync (VSync) bool false
|
||||
|
||||
# Maximum FPS when the window is not focused, or when the game is paused.
|
||||
fps_max_unfocused (FPS when unfocused or paused) int 20 1 4294967295
|
||||
# Maximum FPS when the window is not focused.
|
||||
fps_max_unfocused (FPS when unfocused) int 20 1 4294967295
|
||||
|
||||
# View distance in nodes.
|
||||
viewing_range (Viewing range) int 190 20 4000
|
||||
|
|
|
@ -968,7 +968,7 @@ void Game::run()
|
|||
// Calculate dtime =
|
||||
// m_rendering_engine->run() from this iteration
|
||||
// + Sleep time until the wanted FPS are reached
|
||||
draw_times.limit(device, &dtime, g_menumgr.pausesGame());
|
||||
draw_times.limit(device, &dtime);
|
||||
|
||||
framemarker.start();
|
||||
|
||||
|
@ -2504,7 +2504,7 @@ inline void Game::step(f32 dtime)
|
|||
ZoneScoped;
|
||||
|
||||
if (server) {
|
||||
float fps_max = (!device->isWindowFocused() || g_menumgr.pausesGame()) ?
|
||||
float fps_max = !device->isWindowFocused() ?
|
||||
g_settings->getFloat("fps_max_unfocused") :
|
||||
g_settings->getFloat("fps_max");
|
||||
fps_max = std::max(fps_max, 1.0f);
|
||||
|
|
|
@ -34,9 +34,9 @@ void FpsControl::reset()
|
|||
last_time = porting::getTimeUs();
|
||||
}
|
||||
|
||||
void FpsControl::limit(IrrlichtDevice *device, f32 *dtime, bool assume_paused)
|
||||
void FpsControl::limit(IrrlichtDevice *device, f32 *dtime)
|
||||
{
|
||||
const float fps_limit = (device->isWindowFocused() && !assume_paused)
|
||||
const float fps_limit = device->isWindowFocused()
|
||||
? g_settings->getFloat("fps_max")
|
||||
: g_settings->getFloat("fps_max_unfocused");
|
||||
const u64 frametime_min = 1000000.0f / std::max(fps_limit, 1.0f);
|
||||
|
|
|
@ -45,7 +45,7 @@ struct FpsControl {
|
|||
|
||||
void reset();
|
||||
|
||||
void limit(IrrlichtDevice *device, f32 *dtime, bool assume_paused = false);
|
||||
void limit(IrrlichtDevice *device, f32 *dtime);
|
||||
|
||||
u32 getBusyMs() const { return busy_time / 1000; }
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue