MINECRAFTHUB.IO
Java Mods

Dynamic FPS

Automatically caps FPS and mutes sound the moment Minecraft's window isn't the one you're looking at, so background, idle, and battery time cost less CPU and GPU.

By juliand665 via Modrinth.

Dynamic FPS main config screen showing the disable toggle and idle timeout in Minecraft
Section
Java Mods
Platform
Java
Checked
Updated
Versions
1.14.4, 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1, 1.21.4, 1.21.8, 26.1, 26.2
1/3
Dynamic FPS per-status settings for frame rate, sound volume, and toast notifications

What Dynamic FPS works with.

PlatformJava Edition
LoadersFabric, Forge, NeoForge, Quilt
Minecraft versions1.14.4, 1.16.5, 1.18.2, 1.19.2, 1.20.1, 1.21.1, 1.21.4, 1.21.8, 26.1, 26.2
EnvironmentClient

Dynamic FPS is a Fabric, Forge, NeoForge, and Quilt client mod that scales back what Minecraft is doing the moment its window is not the one you're looking at. It works as a background FPS limiter that reacts on its own to lost focus, idle time, and battery power, dropping the tick rate, capping the frame rate, and lowering sound so the game stops competing for CPU, GPU, and battery life it does not need while you tab away. Switch back to the window and everything returns to normal within a fraction of a second.

What happens when Minecraft loses focus

Dynamic FPS tracks window states separately: active, hovered, unfocused, invisible (minimized or fully covered), idle after a timeout you set, and running on battery. Each state gets its own target frame rate, per-category sound volume, and toast notification setting, so tabbing out mutes chat pings and mob sounds without going fully silent, and standing still in a loaded world for too long triggers the same slowdown as tabbing away. The frame rate floor is 15, since Minecraft's render loop cannot safely go lower than that. Heavier limiting works by skipping rendered frames rather than waiting longer between them, so the game still responds within a fifteenth of a second when you switch back.

  • Active: full frame rate and sound, no changes.
  • Unfocused or hovered: frame rate and per-category sound drop to the values you set for that state.
  • Invisible, minimized or fully covered by another window: a lower frame rate and quieter sound than unfocused.
  • Idle: kicks in after a timeout you choose, using its own frame rate and sound values.
  • On battery: an extra profile that overrides the others while a laptop or handheld is unplugged.

Loaders, versions, and dependencies

Fabric API is a required dependency on the Fabric and Quilt builds; Forge and NeoForge do not need it. Cloth Config API is optional on all four loaders and only matters if you want the in-game settings screen, since Dynamic FPS otherwise runs fine with its default background, idle, and battery values. Loader support currently splits by version: Fabric, Quilt, and NeoForge track the newest game release, and Forge users on a newer release have no matching Dynamic FPS build to install until a new Forge release ships.

  • Fabric: version 3.11.9, Minecraft up to 26.2. Requires Fabric API.
  • Quilt: version 3.11.9, Minecraft up to 26.2. Requires Fabric API.
  • NeoForge: version 3.11.9, Minecraft up to 26.2. No Fabric API needed.
  • Forge: version 3.11.8, Minecraft up to 1.21.4. No Fabric API needed.

Installation

  1. 1.Confirm your loader (Fabric, Forge, NeoForge, or Quilt) and Minecraft version, then download the matching jar from the Modrinth files page.
  2. 2.Install Fabric API first if you play on Fabric or Quilt. Forge and NeoForge do not need it.
  3. 3.Drop the Dynamic FPS jar into your mods folder alongside your loader install.
  4. 4.Install Cloth Config API and Mod Menu if you want the in-game settings screen; skip both to run with the default per-state values.
  5. 5.Launch the game and confirm Dynamic FPS is loaded from the Mods screen.

Questions about Dynamic FPS.

5 questions

How do I install Dynamic FPS?

Download the jar that matches your loader and Minecraft version from Modrinth, then place it in your mods folder alongside Fabric Loader, Forge, NeoForge, or Quilt. Fabric and Quilt also need Fabric API installed first. Adding Cloth Config API unlocks an in-game settings screen; without it, Dynamic FPS runs with its default background, idle, and battery values.

Does Dynamic FPS need Fabric API?

Yes, on Fabric and Quilt. Both builds list Fabric API as a required dependency, so the mod will not load without it. Forge and NeoForge builds do not need Fabric API at all. Cloth Config API is a separate, optional dependency on every loader, and it only adds the in-game settings screen.

Does Dynamic FPS actually use less battery on a laptop?

It cuts CPU and GPU work while Minecraft is unfocused, idle, or running on battery power, which lowers the load a laptop's power management has to handle. It does not promise a specific battery-life number, since that depends on your hardware and settings. An optional HUD element can show current battery percentage and charging status while you play.

Which Minecraft version does Dynamic FPS support?

Fabric, Quilt, and NeoForge builds currently reach Minecraft 26.2. Forge's latest build tops out at 1.21.4, so Forge players on a newer release have no matching Dynamic FPS jar yet. All four loaders also cover many older releases; check the Modrinth files page for the exact version your loader and game version need.

Does Dynamic FPS work on multiplayer servers?

No. Dynamic FPS is a client-only mod, and Modrinth lists server-side support as unsupported. Installing it on a dedicated server has no effect, since it only changes what happens on a player's own screen and system resources while their game window is unfocused, idle, or on battery.

More Java Mods like Dynamic FPS.

Guides for Java Mods.

Browse all Minecraft Java mods