
快速图像帧
优化物品展示框、地图物品展示框的帧率。最初是为优化ImageFrameClient模组而制作。修复了IFC模组与ImmediatelyFast之间的不兼容问题。
查看大图Fast ImageFrames
与 ImageFrame Client 模组(作者 LOOHP)搭配使用的最佳模组。同时修复了 ImageFrame Client 与 ImmediatelyFast 之间的不兼容问题。Quilt 支持目前正在开发中。
如果你在使用该模组时遇到任何问题,或有任何建议,请通过 Discord 私信我。
物品展示框和地图墙的渲染速度最高提升 50 倍,外观与原版一致。
Fast ImageFrames 是一个客户端 Fabric 模组。大型地图画墙、ImageFrame 服务器以及摆满物品展示框的商店不再拖慢你的帧率。服务器端无需安装任何东西,屏幕上也不会有任何变化:每一项功能都经过与原版截图的对比验证。
功能
物品展示框与地图
- 地图图集:地图纹理被打包进少数几个大纹理中,因此一整面地图墙只需少量绘制调用即可绘制完成,而不是每张地图一次调用。
- 烘焙地图墙:不会变化的展示框只绘制一次,然后像地形一样重放,而不是每帧逐个处理。展示框每秒会被检查数次,一旦有变化就立即重建。在没有光影包的情况下,烘焙后的墙体保留在显存中并直接从显存绘制。
- **动态图像(ImageFrame GIF)**在播放时保持烘焙状态:只交换纹理坐标。
- 烘焙物品展示框(1.21.4 至 1.21.11):放置任何物品(方块、工具、附魔物品、旗帜、盾牌、指南针、时钟……)的展示框也会被烘焙。
- 更轻量的展示框模型:两个展示框之间的边缘以及展示框背面在不可见时不会被绘制。修改展示框的资源包(隐形展示框等)会被尊重。
- 隐藏的展示框会被跳过:被方块遮挡的展示框不会被绘制(无论是否烘焙),借助游戏(或 Sodium)的可见性判断以及逐方块的检测。
- 发光物品展示框同样适用:普通和发光物品展示框以相同方式优化,光照变化(火把、动态光源)不会触发任何重建。
- 无用的地图更新被消除:当数据包只是移动标记时,游戏不再重建整张地图纹理。
ImageFrame Client 高清图像
安装 ImageFrame Client 后,Fast ImageFrames 会处理其高清图像:
- 细节层次(LOD):每张图像按其屏幕尺寸所需的分辨率绘制。远处的图像不占用自己的显存,近处的图像则更加清晰。
- 内存与磁盘缓存,每个服务器一个文件夹:下次加入时图像会立即显示,无需重新下载(仅当地图仍然匹配时)。
- 智能下载:图像按其出现的顺序分批请求,被拒绝的请求会重试。
实测提升
游戏内测试,854x480 窗口,RTX 4060 笔记本,Minecraft 1.21.8:
| 场景 | 原版 | Fast ImageFrames |
|---|---|---|
| 1600 张地图的墙(40x40) | 13 FPS | 725 FPS |
| 使用 ImageFrame Client 的 1600 张高清地图墙 | 18 FPS | 656 FPS |
| 动态墙,400 张地图,每 tick 一张图像 | 60 FPS | 687 FPS |
| 400 个物品展示框,放置 12 种物品 | 94 FPS | 512 FPS |
在真实的 Paper 服务器上,一面由 2160 张高清图像(每张 4000 px)组成的墙:仅使用 ImageFrame Client 时约 30 FPS,使用 Fast ImageFrames 时约 800 FPS。
兼容性
- Fabric 上的 Minecraft 1.21.4 至 1.21.11 以及 26.1 至 26.3。
- Sodium、Lithium、Iris(即使开启光影)、Immediately Fast、Entity Culling、FerriteCore、ETF、EMF 等(应与所有模组兼容)。
- 关闭任何“自定义物品展示框”渲染(Immediately Fast 除外),否则模组可能无法正常工作。
已知不兼容
- 无
设置
所有内容都可以在 Mod Menu 中开关,每组设置一页,每个选项都在其工具提示中有说明。支持英语和法语。
许可证
LGPL-3.0。源代码:https://github.com/Palmine38/FastImageFrame
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。