AccurateFPS+
Lightweight and highly accurate FPS metrics with a fully customizable HUD
AccurateFPS+
AccurateFPS+
A lightweight, client-side extended framerate slider mod with an extended framerate slider and deep customization. See your performance clearly and in more detail at a glance, exactly the way you want it!
!!! - I know this is an overused concept for a mod, but i just wanted to test myself and get better at coding, i have much more creative projects that i hope i finish so that yall can enojoy them! I hope you can find this mod useful and good
---
Highlights
- CSV Export - Replaces the vanilla Max Framerate slider with a precise 1–1000 range (step of 1 instead of vanilla's step of 10). Your chosen value saves and persists between sessions. - CSV Export - Four independent metrics, each with its own update interval, decimal precision, label, display slot, and configurable history window. - CSV Export - Pick any screen corner or set exact X/Y coordinates. Enable text shadows, and add a semi-transparent background overlay with adjustable color and transparency. - CSV Export - Set a custom hex color for each metric independently, or enable auto-color per metric: green (≥60), yellow (≥30), red (<30). - CSV Export - Switch between Real-Time (instant), Averaged (smooth), or EMA (exponential moving average) for responsive yet stable tracking. AVG/MAX/MIN/percentile lows respect the configurable history window (1s / 3s / 5s / 10s / 30s / 60s). - CSV Export - Minimal (FPS only), Competitive (FPS + AVG), Detailed (all four), or Custom. - CSV Export - Run `/accuratefps+ exportcsv` to dump your FPS history (with frametime) in a clean, readable table format.

> "FPS" Preset + FPS on FPS
---
Supported Versions
| Minecraft | Loaders | |-----------|---------| | 1.21.1 | Fabric, Quilt, Forge | | 1.21.11 | Fabric, Quilt, Forge |
---
Installation
1. Download the jar that matches your Mod Menu → AccurateFPS+ and Mod Menu → AccurateFPS+ 2. Drop it into your `mods/` folder 3. Launch Minecraft 4. Open Mod Menu → AccurateFPS+ to configure (requires Mod Menu → AccurateFPS+ on Fabric/Quilt), or edit `config/accuratefpsplus.json` directly
---
Configuration
All settings are available through the in-game config screen and apply immediately - no restart needed.
HUD Settings
- Background overlay on/off - Background overlay or custom X/Y position - Background overlay for readability - Background overlay with configurable color and transparency
Per-Metric Settings (FPS, AVG, MAX, MIN) + Low Metrics Line
- Show/hide each metric independently - Set 0.1% Low (main line has four slots; the low-metrics line has two slots stacked vertically under the main HUD) - Set 0.1% Low (0–4 places) - Add custom 0.1% Low and 0.1% Low text - Set 0.1% Low per metric - Set 0.1% Low (hex) per metric - 0.1% Low - FPS exceeded 99% of the time (competitive stability metric) - 0.1% Low - FPS exceeded 99.9% of the time (worst-case analysis); These are displayed on a separate line to prevent the main HUD from overflowing.
Engine Settings
- Per-Metric Refresh Intervals: - Per-Metric Refresh Intervals - instant per-frame FPS (default) - Per-Metric Refresh Intervals - mean over poll window (stable) - Per-Metric Refresh Intervals - exponential moving average for smooth yet responsive output - Per-Metric Refresh Intervals - Time range for AVG/MAX/MIN/percentile calculations (1s–60s) - Per-Metric Refresh Intervals - How often to poll frame times (balance fidelity vs. overhead) - Per-Metric Refresh Intervals - Configure FPS/AVG/MAX/MIN/1% Low/0.1% Low update cadence independently
Presets
- Custom - Just the current FPS - Custom - FPS + Average - Custom - All four metrics - Custom - Your own layout
---
Performance
- Automatic config migration - primitive ring buffer for frame timings, no autoboxing or GC pressure per frame - Automatic config migration - string composition is skipped when telemetry values haven't changed; fast decimal formatting without `String.format()` overhead - Automatic config migration - no per-frame float math, recalculated only when settings change - Automatic config migration - window size queries only when display actually resizes - Automatic config migration - CSV export data pruned every ~10 seconds instead of every poll tick - Automatic config migration - history snapshots on the render thread, disk I/O runs off-thread to avoid hitches - Automatic config migration - balance accuracy vs. overhead to suit your hardware - Automatic config migration - only a single `nanoTime()` call + ring buffer write per frame; all other work runs at ~10 Hz - Automatic config migration - old configs are seamlessly upgraded to the latest schema, so updates never break your settings
> Tip: Polling intervals below 100 ms give faster updates but may slightly impact performance on lower-end hardware.
---
Troubleshooting
- Config won't save? Make sure it's enabled in the config and that no GUI screen is open. - Config won't save? Check write permissions on the `config/` folder.
---
Dependencies & Compatibility
| Mod | Loaders | Requirement | | -------------------------------------------------------- | ------------- | ----------------- | | COMPATIBLE | Fabric, Quilt | 📦 COMPATIBLE | | %%MD1%% | Fabric, Quilt | 📦 COMPATIBLE | | %%MD2%% | Fabric, Quilt | ✅ COMPATIBLE | | %%MD3%% | Fabric, Quilt | ✅ COMPATIBLE |
❌ Known Incompatibilities
None at the moment. If you run into a conflict with another mod, please report it so that I can mark it as INCOMPATIBLE, or make it compatible!
> Note: Forge builds bundle their own dependencies and do not require Fabric API, Cloth Config, or Mod Menu.
---
Links
- Modrinth - Contact: Discord (username: matteo.sb)
---
not - This mod is closed-source. You may not re-upload, redistribute, modify, decompile, or reuse the code or assets.
You are welcome to include this mod in any modpack (private or public). Please give credit and link back to this Modrinth page.
---
*Built with love by gingermat