COWMODSКаталог модов

FastPackLoad

Faster resource pack loading, and no more freeze when you join a server with a big pack. Client-side only, no Fabric API needed.

Автор: ItzStanleex3,2 тыс.10обновлён 4 сент. 2026 г.
ОптимизацияУтилиты

Описание

FastPackLoad

Vanilla does a lot of unnecessary resource pack work on the render thread. With a large server pack that shows up as a multi-second freeze when you join or switch servers, sometimes long enough for Windows to grey the window out as "not responding".

FastPackLoad removes most of that work.

What it changes

Pack discovery runs in parallel. Vanilla opens every pack and parses its metadata one at a time, on the main thread, before the loading screen even appears.

Zip packs are indexed once. Vanilla walks the whole archive every time a reloader asks about a resource folder, rebuilding and decoding every entry name on each pass.

Font work comes off the render thread. Glyph coverage is resolved across cores, and with hundreds of fonts it is resolved by a different algorithm entirely. A warm-up loop that only does anything for TrueType fonts is skipped when a pack has none.

Atlas mipmaps are generated across cores. Vanilla builds every sprite's mipmaps in a single task on one worker, while the rest of the reload pool has nothing to do.

The loading screen stops waiting around. A finished reload still sits through a grace period and a fade, up to three seconds of nothing. That one is a behaviour change, so it has its own switch.

A vanilla race is fixed. The lazy ZipFile handle in the pack reader is unsynchronised, even though a reload reads packs from several threads at once. That can leak a file handle per race, or hand a reader an archive another thread just closed, which surfaces as IllegalStateException: zip file closed part-way through loading.

Measured

On a server whose pack ships 746 font providers:

beforeafter
Render thread frozen4384 ms448 ms
Full reload~7.2 s~3.7 s

Your numbers will differ. Packs that are light on fonts have less to gain.

When it still freezes

A watchdog samples the render thread and, if frames stop arriving, logs the stack it is stuck in, along with the package that stack points at. Every reload also logs a short summary of what blocked and for how long, so a slow pack can be pointed at instead of guessed about.

Notes

Client-side only; nothing is required on the server. No Fabric API dependency. Every change can be switched off individually in config/fastpackload.json if you need to rule something out.

Последние версии

Все версии →
release

FastPackLoad 1.2.0 for 26.2

1.2.0
4 сент. 2026 г.1,1 тыс.Minecraft: 26.2fabric
Скачать
Что нового
Added support for Minecraft 26.1, 26.1.1, 26.1.2 and 26.2. Loading got faster again. Pack files used to be read one at a time even with your cores sitting idle, and now they are not. Preparing textures also takes a lot less work. Two things if you are on 26.1 or newer. The `cachePackMetadata` setting does nothing there, because Minecraft handles that itself now.
release

FastPackLoad 1.2.0 for 26.1

1.2.0
4 сент. 2026 г.851Minecraft: 26.1, 26.1.1, 26.1.2fabric
Скачать
Что нового
Added support for Minecraft 26.1, 26.1.1, 26.1.2 and 26.2. Loading got faster again. Pack files used to be read one at a time even with your cores sitting idle, and now they are not. Preparing textures also takes a lot less work. Two things if you are on 26.1 or newer. The `cachePackMetadata` setting does nothing there, because Minecraft handles that itself now.
release

FastPackLoad 1.2.0 for 1.21.10 and 1.21.11

1.2.0
4 сент. 2026 г.1,1 тыс.Minecraft: 1.21.10, 1.21.11fabric
Скачать
Что нового
Added support for Minecraft 26.1, 26.1.1, 26.1.2 and 26.2. Loading got faster again. Pack files used to be read one at a time even with your cores sitting idle, and now they are not. Preparing textures also takes a lot less work. Two things if you are on 26.1 or newer. The `cachePackMetadata` setting does nothing there, because Minecraft handles that itself now.
release

FastPackLoad 1.1.0

1.1.0
17 авг. 2026 г.69Minecraft: 1.21.10, 1.21.11fabric
Скачать
Что нового
Faster pack loading, plus a fix for a hang with ModernFix. - Texture atlas mipmaps now use all CPU cores instead of one. - Zip packs are read from a cached index, so opening files no longer queues up on the archive. - The loading screen closes as soon as the reload is done instead of sitting through a fade, which saves up to 3 seconds. Set `skipLoadingScreenFade` in config to `false` to keep it. **Fixed:** with ModernFix installed, the client could hang on the loading screen forever.
release

FastPackLoad 1.0.0

1.0.0
13 авг. 2026 г.19Minecraft: 1.21.10, 1.21.11fabric
Скачать
Что нового
# 1.0.0 First release. Minecraft 1.21.10, Fabric Loader 0.19.0+, Java 21+, client-side only. ### Loading - Pack discovery reads metadata on a worker pool instead of one pack at a time on the main thread. - `pack.mcmeta` is read once per pack instead of once per metadata section. Vanilla reopens and reparses it four times. - Zip packs are indexed once and looked up by prefix, instead of walking the whole archive on every `findResources` and `getNamespaces` call. Vanilla rebuilds and UTF-8 decodes every entry name on each pass. - Server pack metadata is read in parallel. It runs before the loading screen exists, so a large pack froze the window there with no progress bar. - Font glyph coverage is resolved across cores. Above a few hundred fonts it switches to a claim-based pass that cuts the work from (code points x fonts) to roughly (code points). - The glyph warm-up loop is skipped when no font in the set caches on access, which is every vanilla font except TrueType. On a bitmap-font pack it was pure waste.