Skip to content

Commit 0270a21

Browse files
committed
refactor: use LimitedDecayQueue instead of ArrayList
1 parent 14517c7 commit 0270a21

File tree

1 file changed

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

1 file changed

+3
-3
lines changed

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import com.lambda.event.listener.SafeListener.Companion.listen
2222
import com.lambda.gui.dsl.ImGuiBuilder
2323
import com.lambda.module.HudModule
2424
import com.lambda.module.tag.ModuleTag
25+
import com.lambda.util.collections.LimitedDecayQueue
2526
import kotlin.time.Duration.Companion.seconds
2627

2728
object FPS : HudModule(
@@ -32,7 +33,7 @@ object FPS : HudModule(
3233
val average by setting("Average", false)
3334
val updateDelay by setting("Update Delay", 50, 0..1000, 1, "Time between updating the fps value")
3435

35-
val frames = mutableListOf<Long>();
36+
val frames = LimitedDecayQueue<Unit>(Int.MAX_VALUE, 1.seconds.inWholeMilliseconds);
3637
var lastUpdated = System.currentTimeMillis()
3738
var lastFrameTime = System.nanoTime()
3839
var fps = 0
@@ -41,8 +42,7 @@ object FPS : HudModule(
4142
listen<RenderEvent.Render> {
4243
var currentFps = 0
4344
if (average) {
44-
frames.add(System.nanoTime() + 1.seconds.inWholeNanoseconds)
45-
frames.removeIf { System.nanoTime() > it }
45+
frames.add(Unit)
4646
currentFps = frames.size
4747
} else {
4848
val currentTimeNano = System.nanoTime()

0 commit comments

Comments
 (0)