
TexFix
The Problem of Texture Memory Consumption in Minecraft
Minecraft has a specific approach to texture handling: textures are first loaded into RAM and then transferred to the GPU. Normally, the game would then free this data from memory after successful transfer. However, in Forge-modified versions, this process doesn't always function correctly.
How TexFix Works
This mod effectively solves the memory management issue. After all resources are fully loaded, it analyzes the Texture Manager and removes all non-animated sprites that are no longer in use from the RAM. This significantly reduces memory footprint.
Importance for Modpacks
Standard Minecraft has around 729-795 static textures (for version 1.12), so memory savings in vanilla gameplay are minimal. The situation changes dramatically with modpacks containing thousands of additional textures. Some modpacks can include up to 40,000 textures, creating massive memory pressure.
Memory Savings Calculation
Estimated Memory Savings by Texture Resolution:
-
16x16 Textures: 1 KB per texture
- Vanilla: 729 KB
- 5k texture modpack: 5 MB
- 40k texture modpack: 39 MB
-
32x32 Textures: 4 KB per texture
- Vanilla: 2.8 MB
- 5k texture modpack: 20 MB
- 40k texture modpack: 156 MB
-
64x64 Textures: 16 KB per texture
- Vanilla: 11 MB
- 5k texture modpack: 78 MB
- 40k texture modpack: 625 MB
-
128x128 Textures: 66 KB per texture
- Vanilla: 46 MB
- 5k texture modpack: 312 MB
- 40k texture modpack: 2.5 GB
-
256x256 Textures: 262 KB per texture
- Vanilla: 182 MB
- 5k texture modpack: 1.2 GB
- 40k texture modpack: 10 GB
-
512x512 Textures: 1 MB per texture
- Vanilla: 729 MB
- 5k texture modpack: 5 GB
- 40k texture modpack: 40 GB
Additional Benefits
Maximum benefit is achieved when using mipmapping, where the game creates duplicate texture data. In this scenario, memory savings can be even more substantial.
Operation Notification
After texture cleanup completes, a log message appears with detailed statistics: the number of textures freed and the amount of memory saved in megabytes and bytes.