zlib Updated - NVSE
Summary
Updates zlib to the latest version for faster loading and less stutter.
Tags
Languages
Any
What?
Game uses zlib compression for BSAs, NPC and Landscape records. While you can decompress those, most mod authors don't.
Why is that an issue? Zlib is super slow to decompress, which leads to longer loading times and stuttering.
On top of that, game obviously uses a super old zlib version (1.2.1), which doesn't help.
I was bored, and decided to upgrade it to the latest version (1.3.1 at the time of writing), and to my surprise, it's about 2 times faster.
Does that mean that you should compress all BSAs now? No, the decompression time is still super slow.
Does that mean that you *can* compress BSAs without being scared of freezing the game every time a cell is loaded? Yea.
FYI, record compression is disabled by the latest GECK Extender.
Decompression stats:
Time it takes to decompress files and records
Mojave Express Guide - Vanilla: 647.725ms (total) | 0.688ms (avg time per file)
Mojave Express Guide - Updated: 324.249ms (total) | 0.344ms (avg time per file)
Decided to check with vanilla BSAs as well:
Mojave Express Guide - Vanilla: 4111.904ms (total) | 0.778ms (avg time per file)
Mojave Express Guide - Updated: 2130.654ms (total) | 0.403ms (avg time per file)
So yea, you still have to decompress stuff
Loading time data:
Time it takes to load - from main menu, to in-game.
Mojave Express Guide:
Vanilla zlib: 9578.195ms
Updated zlib: 9024.290ms
Uncompressed: 8796.764ms
Vanilla game:
Vanilla zlib: 8862.736ms
Updated zlib: 6399.111ms
Uncompressed: 5155.468ms
Source Code
GitHub
Credits
Jean-loup Gailly and Mark Adler for creating zlib