Overview#
Smooth Boot is a technical optimization mod designed to solve a common issue in Minecraft: extreme CPU usage during the game's startup sequence. On many systems, especially those with 8 or fewer threads, Minecraft's default loading process attempts to utilize 100% of the CPU. This results in "system hang," where the mouse cursor stutters, background applications (like web browsers or music players) lag, and the computer becomes nearly unresponsive until the title screen appears.
By tweaking how Java handles parallel execution, Smooth Boot allows the game to load more efficiently without starving the rest of the operating system of resources. It is particularly effective for players using large modpacks, which significantly extend loading times and CPU strain.
Mechanics#
The mod functions by intercepting and modifying the parameters of Minecraft's internal "executors." These executors are responsible for managing multithreaded tasks. Smooth Boot focuses on two primary areas:
Thread Scheduling
Minecraft uses a specific number of threads to handle tasks like data fixing, asset loading, and world pre-generation. By default, the game often allocates as many threads as the CPU has available. Smooth Boot allows users to cap these numbers, ensuring that at least one or two CPU cores remain free for the operating system and other background tasks.
Thread Priority
In Java, every thread has a priority ranging from 1 (lowest) to 10 (highest). Minecraft typically runs its loading threads at a high priority. Smooth Boot can lower this priority, telling the operating system to prioritize user-facing tasks (like moving the mouse or playing audio) over the game's background loading tasks. This prevents the "stuttering" effect during startup.
Single-Thread Extraction
Certain tasks in the Minecraft loading sequence do not benefit from being spread across multiple threads and may actually run slower due to the overhead of thread management. Smooth Boot can identify these tasks and force them to run on a single thread, which can occasionally result in faster overall boot times on specific hardware configurations.
Configuration#
Smooth Boot is highly configurable. On the Fabric loader, players can use the Mod Menu interface to adjust settings graphically. On Forge and NeoForge, settings are managed via the smoothboot.json file located in the game's config folder. Changes take effect after a game restart.
Config Options
| Option | Default Value | Description |
|---|---|---|
bootstrapThreads |
1 | The number of threads used for the bootstrap executor (initial game loading). |
mainWorkerThreads |
CPU Cores - 1 | The number of threads used for the main worker executor (general game tasks). |
priority |
1 | The priority level of the threads. Lowering this (e.g., to 1) improves system responsiveness during loading. |
ioWorkerThreads |
1 | (Available in some versions) Controls the number of threads dedicated to I/O operations. |
Note: Setting bootstrapThreads to 1 is generally recommended for the smoothest experience on mid-to-low-end CPUs.
Mobs and Creatures#
Smooth Boot is a technical performance utility and does not add any new mobs, entities, or creatures to Minecraft. It focuses entirely on the game's engine and CPU utilization.
Items and Blocks#
This mod does not introduce any new items, blocks, or materials. It is a "code-only" mod that operates behind the scenes to improve performance.
Biomes and Dimensions#
Smooth Boot does not add or modify biomes, dimensions, or world generation structures. However, by optimizing the mainWorkerThreads, it can indirectly lead to smoother chunk loading and world generation in existing biomes.
Compatibility#
Smooth Boot is designed to be highly compatible with the broader modding ecosystem.
- Performance Mods: It is fully compatible with other optimization mods such as Sodium, Lithium, FerriteCore, and Starlight.
- LazyDFU: Smooth Boot works exceptionally well alongside LazyDFU. While LazyDFU stops the game from initializing DataFixerUpper until needed, Smooth Boot ensures that when it does initialize, it doesn't overwhelm the CPU.
- Optifine: There are no known conflicts with Optifine.