FPS Display

IntermediateDisplay

Displays the current frames per second. Useful for performance monitoring and optimization.

6 min read

What It Does

Displays the current frames per second. Useful for performance monitoring and optimization.

Source Code

java
1package com.example;
2
3import net.runelite.api.Client;
4import net.runelite.client.ui.overlay.Overlay;
5import net.runelite.client.ui.overlay.OverlayManager;
6import net.runelite.client.plugins.Plugin;
7import net.runelite.client.plugins.PluginDescriptor;
8import javax.inject.Inject;
9import java.awt.*;
10
11@PluginDescriptor(
12    name = "FPS Display",
13    description = "Shows FPS"
14)
15public class FPSDisplayPlugin extends Plugin {
16    @Inject
17    private Client client;
18
19    @Inject
20    private OverlayManager overlayManager;
21
22    private final Overlay overlay = new Overlay() {
23        @Override
24        public Dimension render(Graphics2D graphics) {
25            int fps = client.getFPS();
26            graphics.setColor(Color.WHITE);
27            graphics.drawString("FPS: " + fps, 10, 10);
28            return new Dimension(80, 20);
29        }
30    };
31
32    {
33        overlay.setLayer(OverlayLayer.ABOVE_SCENE);
34        overlay.setPosition(OverlayPosition.TOP_LEFT);
35    }
36
37    @Override
38    protected void startUp() {
39        overlayManager.add(overlay);
40    }
41
42    @Override
43    protected void shutDown() {
44        overlayManager.remove(overlay);
45    }
46}

Code Annotations

Line 24

Get current FPS

API Classes Used

Key Concepts

  • Get current FPS

Next Steps

  • Learn about performance monitoring
  • Add FPS graph
  • Add low FPS warnings