Links
Tags
Creators
Details
Licensed MIT
Published 6 months ago
Updated 6 days ago
All versions
1.2-r1
Release
AccurateFPS+ v1.2-r13 weeks ago 120
Compatibility
Minecraft: Java Edition
1.21.11
Platform
Fabric
Supported environments
Client-side
Required content
Any compatible version
Changes
- Added a client-side public API (
com.accuratefpsplus.api.AccurateFpsApi) for companion and third-party mods to read the live HUD metrics: FPS, AVG, MAX, MIN, 1% Low, 0.1% Low, and Frametime. - Added a real-time Frametime metric (
ms) to monitor measured frame duration alongside framerate. - Fixed frametime display accuracy:
displayedFrametimeMsnow reports the measured frame duration instead of deriving it from FPS. - Synchronized all frametime telemetry directly through the telemetry engine to guarantee identical readings between the HUD display and the public API.
- Placed Frametime on the secondary telemetry line (aligned with 1% and 0.1% lows), keeping the primary line clean for main framerate stats.
- Scaled secondary line metrics (1% Low, 0.1% Low, and Frametime) to a crisp 75% size to create a clean visual hierarchy under the main FPS line.
- Added an in-game toggle keybind (
Controls -> Key Binds -> AccurateFPS+) to easily show or hide the HUD during gameplay. - Added an option to automatically hide the HUD whenever the F3 debug screen is active.
- Added a button in Coloring settings to automatically detect your monitor's native refresh rate via GLFW and set manual thresholds in one click.
- Added automatic screen boundary clamping so the HUD, secondary line, and background box never clip or go off-screen on any resolution or anchor corner.
- Fixed config saving so customizing individual metrics no longer gets reset by preset profiles, and automatically marks the active profile as Custom.
- Removed the legacy
/accuratefps+ exportcsvcommand; the base mod retains samples for its configured telemetry window rather than CSV history export. - Removed dead code, unused fields, and eliminated compiler warnings across vanilla options mixins and configuration screens.
- Corrected the Real-Time and Averaged calculation modes so each setting uses its matching sampling algorithm.
- Aggregated elapsed frame time directly instead of truncating the averaging window to a fixed 1,024-frame buffer.
- Reduced telemetry history traversal by calculating average, maximum, and minimum FPS in one pass when any of their refresh deadlines is due.
- Corrected 1% Low and 0.1% Low rank selection to use nearest-rank percentiles, including small sample windows.
- Made the telemetry engine shared by both supported Minecraft targets and added deterministic regression tests for calculation modes, history windows, percentiles, and non-monotonic timestamps.
- Deferred YACL's Custom preset marker until settings are saved, preventing a visibility toggle from invalidating the preset option during YACL's apply cycle.
- Kept Cloth Config, YACL, and Sodium compile-time optional; added opt-in local runtime profiles for testing each integration independently.
- Switched telemetry window timing to the monotonic clock and report measured frametime consistently on both supported Minecraft versions.
- Reported FPS-limit and settings-file I/O failures and preserved unreadable settings instead of silently replacing them with defaults.
- Updated the root build to build both supported Minecraft targets and place both release jars in
build/libs; CI uploads that shared output folder.
Optional dependencies
Any compatible version
Any compatible version
Any compatible version
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:AQGahqU5:yWzlsaUj"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:AQGahqU5:yWzlsaUj"
}

