
Smoothgl
Honest micro-stutter fixes for 1.21.4 Fabric: frame pacer, raycast occlusion, entity/particle/name-tag/beacon culling, GC watcher, JIT warmup, network input-lag tuner, adaptive auto-tuner, real-time stutter profiler with telemetry HUD. Честные фиксы микро
Tags
Creators
Details
0.1.0
Compatibility
Required content
Changes
0.1.0 (Initial Release)
Features
- Frame profiler with stutter detection and breakdown HUD (F7)
- Adaptive distance culling for entities, block entities, particles, and armor layers
- Occlusion culling via raycast with TTL cache for entities and particles
- GPU frame pacer with configurable frames-in-flight depth
- JIT warmup on startup to reduce early-game micro-stutters
- Direct-buffer pre-touch on startup (configurable size)
- GC watcher to monitor pause times
- Network tuner (TCP_NODELAY, larger buffers, IP_TOS_LOWDELAY)
- Packet pump for reduced input lag on high-FPS clients
- Ping monitor with HUD display
- In-world debug renderer (F9 toggle) for cull boundary and occlusion rays
- Custom telemetry graphs (frame-time bars + ping line) in HUD
- Startup phase timer with
/smoothgl startupcommand
Commands
/smoothgl- status overview/smoothgl breakdown- frame breakdown/smoothgl startup- startup timing report/smoothgl dump- stutter dump/smoothgl reset- reset profiler/smoothgl set <key> <value>- runtime config
Keybinds
- F7 - Toggle frame breakdown HUD
Configuration
- All settings in
config/smoothgl.properties - Runtime-configurable via commands
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:aAWPNtd6:jv430j6i"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:aAWPNtd6:jv430j6i"
}
