diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fps/FpsOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/fps/FpsOverlay.java index 420c0e6656..654277744b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/fps/FpsOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/fps/FpsOverlay.java @@ -47,15 +47,10 @@ import net.runelite.client.ui.overlay.OverlayUtil; */ public class FpsOverlay extends Overlay { - private static final int MAX_FPS = 50; - private static final int FPS_SIZE = MAX_FPS + 1; private static final int Y_OFFSET = 1; private static final int VALUE_X_OFFSET = 1; private static final String FPS_STRING = " FPS"; - // Cache of FPS number strings from 00-50 - private final String[] fpsNums; - // Local dependencies private final FpsConfig config; private final Client client; @@ -71,17 +66,6 @@ public class FpsOverlay extends Overlay setLayer(OverlayLayer.ABOVE_WIDGETS); setPriority(OverlayPriority.HIGH); setPosition(OverlayPosition.DYNAMIC); - - // Populate pre-allocated strings of FPS, these are constant and there's no reason - // to create additional garbage - // FPS should never exceed 50, we have 0-50 (51 entries) - String[] fpsNums = new String[FPS_SIZE]; - for (int i = 0; i < FPS_SIZE; i++) - { - fpsNums[i] = String.format("%02d", i); - } - this.fpsNums = fpsNums; - } void onFocusChanged(FocusChanged event) @@ -107,18 +91,14 @@ public class FpsOverlay extends Overlay { return null; } + + final String text = client.getFPS() + FPS_STRING; + final int textWidth = graphics.getFontMetrics().stringWidth(text); + final int textHeight = graphics.getFontMetrics().getAscent() - graphics.getFontMetrics().getDescent(); - final int fps = client.getFPS(); - if (fps < FPS_SIZE) - { - final String text = fpsNums[fps] + FPS_STRING; - final int textWidth = graphics.getFontMetrics().stringWidth(text); - final int textHeight = graphics.getFontMetrics().getAscent() - graphics.getFontMetrics().getDescent(); - - final int width = (int) client.getRealDimensions().getWidth(); - final Point point = new Point(width - textWidth - VALUE_X_OFFSET, textHeight + Y_OFFSET); - OverlayUtil.renderTextLocation(graphics, point, text, getFpsValueColor()); - } + final int width = (int) client.getRealDimensions().getWidth(); + final Point point = new Point(width - textWidth - VALUE_X_OFFSET, textHeight + Y_OFFSET); + OverlayUtil.renderTextLocation(graphics, point, text, getFpsValueColor()); return null; }