
材质修复
减小纹理的内存占用
Minecraft 有一个很酷的纹理加载特性,它会将纹理加载到内存中,然后上传至GPU,
通常在此之后,如果纹理不是动画纹理,Minecraft 会从内存中清除这些纹理数据。
多亏了 Forge,这种情况已经不再发生。
这时,本模组就派上了用场,在所有内容加载完成后,它会遍历你的纹理管理器,并从内存中删除所有非动画精灵,以减少内存占用。
对于原版 Forge 游戏来说,这实际上没有太大影响。
但通常整合包中的纹理数量远多于原版,我见过包含 4 万个纹理的整合包。我以此为例进行说明:
原版 Minecraft 1.10.2 中有 729 个(1.12 为 795 个)非动画纹理。
以下是内存节省量的列表:
- 16x 纹理 = 每个纹理 1KB = 原版 729KB = 5000 纹理 5MB = 4 万纹理 39MB,
- 32x 纹理 = 每个纹理 4KB = 原版 2.8MB = 5000 纹理 20MB = 4 万纹理 156MB,
- 64x 纹理 = 每个纹理 16KB = 原版 11MB = 5000 纹理 78MB = 4 万纹理 625MB,
- 128x 纹理 = 每个纹理 66KB = 原版 46MB = 5000 纹理 312MB = 4 万纹理 2.5GB,
- 256x 纹理 = 每个纹理 262KB = 原版 182MB = 5000 纹理 1.2GB = 4 万纹理 10GB,
- 512x 纹理 = 每个纹理 1MB = 原版 729MB = 5000 纹理 5GB = 4 万纹理 40GB
当然,这假设每个纹理都是特定尺寸,但即使你的纹理是混合尺寸,也能节省一些内存,因为这些数据虽然存在但毫无用处!它们已经存在于你的 GPU 中并使用着。
此外,如果使用了 Mipmap,这些效果会更显著,因为 Minecraft 会复制数据来生成它们,如果使用 Mipmap,预期会节省更多内存。(此部分未计入日志)
纹理加载完成后,会有一个工具日志显示:X 个纹理已被修复,你节省了 Y MB(Z 字节)的内存。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。