Skip to content

Commit 15ae931

Browse files
committed
feat(FPS): make Average setting work with Update Delay
1 parent db59141 commit 15ae931

File tree

1 file changed

+11
-13
lines changed
  • src/main/kotlin/com/lambda/module/hud

1 file changed

+11
-13
lines changed

src/main/kotlin/com/lambda/module/hud/FPS.kt

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,7 @@ object FPS : HudModule(
3030
tag = ModuleTag.HUD
3131
) {
3232
val average by setting("Average", false)
33-
val updateDelay by setting("Update Delay", 50, 0..1000, 1, "Time between updating the fps value") {
34-
!average
35-
}
33+
val updateDelay by setting("Update Delay", 50, 0..1000, 1, "Time between updating the fps value")
3634

3735
val frames = mutableListOf<Long>();
3836
var lastUpdated = System.currentTimeMillis()
@@ -41,23 +39,23 @@ object FPS : HudModule(
4139

4240
init {
4341
listen<RenderEvent.Render> {
42+
var currentFps = 0
4443
if (average) {
4544
frames.add(System.nanoTime() + 1.seconds.inWholeNanoseconds)
4645
frames.removeIf { System.nanoTime() > it }
47-
fps = frames.size
46+
currentFps = frames.size
4847
} else {
4948
val currentTimeNano = System.nanoTime()
50-
51-
val currentTypeMilli = System.currentTimeMillis()
52-
if (currentTypeMilli - lastUpdated >= updateDelay) {
53-
lastUpdated = currentTypeMilli
54-
val elapsedNs = currentTimeNano - lastFrameTime
55-
fps = if (elapsedNs > 0) (1000000000 / elapsedNs).toInt()
56-
else 0
57-
}
58-
49+
val elapsedNs = currentTimeNano - lastFrameTime
50+
currentFps = if (elapsedNs > 0) (1000000000 / elapsedNs).toInt() else 0
5951
lastFrameTime = currentTimeNano
6052
}
53+
54+
val currentTypeMilli = System.currentTimeMillis()
55+
if (currentTypeMilli - lastUpdated >= updateDelay) {
56+
fps = currentFps
57+
lastUpdated = currentTypeMilli
58+
}
6159
}
6260
}
6361

0 commit comments

Comments
 (0)