PackForge - 优化资源包加载时间

PackForge - 优化资源包加载时间

更快的资源包重载和大型资源包的图集溢出恢复。

优化

PackForge

PackForge 是一个客户端 Fabric 模组,可帮助大型资源包更快加载。

它主要针对大型服务器资源包设计,例如由 ItemsAdder、ModelEngine 以及其他高度自定义的资源包生成的资源包。

Minecraft 在加载过程中通常需要多次搜索资源包。对于非常庞大的资源包,这会导致加载界面耗时很久,尤其是当资源包包含数千个模型、纹理、声音或 JSON 文件时。

PackForge 通过在加载资源包时构建一个快速的内部索引来改善这一点。之后,Minecraft 可以更快地找到文件,而无需反复搜索整个资源包。

kofi-singular ghsponsors-singular github

fabric forge

PackForge 的功能

  • 加速大型压缩资源包的加载和重新加载
  • 帮助减少加入使用大型资源包的服务器时的漫长加载界面
  • 可配置的功能,例如:
    • 跳过加载淡出
    • 加载时间提示
    • 各项独立功能

基准测试

Packforge 1.0 对比原版 Minecraft

Packforge 1.2 对比 Quick Pack(作者 DrexHD)

Packforge 1.2 仅用 9.37 秒就加载了相同的资源包,而 Packforge 1.0 需要 16.25 秒,这是通过优化字体加载逻辑实现的。

使用一个大型服务器资源包进行测试,该资源包包含约 28,000 个条目、9,800 个纹理和 10,700 个模型文件,跨越 191 个命名空间(解压后资源包超过 61 MiB)。

通常,游戏在加载期间仅为了模型/物品发现和命名空间设置,就必须执行 4,600 次完整 ZIP 扫描,或超过 1.3 亿次条目检查。

PackForge 通过每次重新加载时仅索引一次 ZIP,避免了大多数重复扫描。

图集溢出保护

一些非常庞大的资源包也可能因为最终纹理图集变得过大,而在较弱或较旧的 GPU 上加载失败。

PackForge 包含可选的图集保护功能,可以在内存中缩小过大的纹理,使资源包有更大的机会成功加载。

PackForge 不会修改你的资源包文件。图集保护只会在资源包加载期间为过大的纹理创建更小的临时版本。大多数正常的方块和物品纹理在游戏过程中看起来应该相同,但在低端硬件上,被大幅缩小的纹理可能会显得略微柔和。

此功能可以在模组的配置文件中禁用,也可以通过 ModMenu 的配置界面禁用。

兼容性

PackForge 与以下模组兼容:

  • Sodium
  • Iris
  • ImmediatelyFast
  • FerriteCore
  • Lithium
  • Entity Model Features
  • Entity Texture Features
  • Continuity
  • CIT Resewn
  • [可能还有更多]

不支持

OptiFine / OptiFabric - 可能无法工作,尚未测试。