Skip to content

Commit be6c341

Browse files
committed
Add FPS limit
1 parent ce6c1e5 commit be6c341

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

src/engine/internal/engine.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -422,8 +422,10 @@ double Engine::fps() const
422422

423423
void Engine::setFps(double fps)
424424
{
425-
m_fps = fps;
426-
updateFrameDuration();
425+
if (fps > 0) {
426+
m_fps = std::min(fps, 250.0);
427+
updateFrameDuration();
428+
}
427429
}
428430

429431
bool Engine::turboModeEnabled() const

test/engine/engine_test.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,21 @@ TEST(EngineTest, Fps)
8787

8888
engine.setFps(60.25);
8989
ASSERT_EQ(engine.fps(), 60.25);
90+
91+
engine.setFps(0);
92+
ASSERT_EQ(engine.fps(), 60.25);
93+
94+
engine.setFps(-5);
95+
ASSERT_EQ(engine.fps(), 60.25);
96+
97+
engine.setFps(250);
98+
ASSERT_EQ(engine.fps(), 250);
99+
100+
engine.setFps(30);
101+
ASSERT_EQ(engine.fps(), 30);
102+
103+
engine.setFps(300);
104+
ASSERT_EQ(engine.fps(), 250);
90105
}
91106

92107
TEST(EngineTest, FpsProject)

0 commit comments

Comments
 (0)