介绍
优化
ImmediatelyFast 通常通过使用自定义缓冲区实现来优化所有立即模式渲染,该实现会批量处理
绘制调用并以更高效的方式将数据上传到 GPU。
以下立即模式渲染代码部分已优化:
- 实体
- 方块实体
- 粒子
- 文本渲染
- GUI/HUD
- 其他模组的立即模式渲染
它还包含针对性的优化,通过更改原版渲染代码以加快运行速度。
以下渲染代码部分已通过更高效的实现进行优化:
- 地图渲染
- HUD 渲染
- 文本渲染
性能
以下是该模组优化效果特别好的部分性能对比:
如果表格中列出了其他模组,这意味着该模组也优化了游戏的该部分。
测试硬件:Ryzen 5 1600,32GB DDR4,GTX 1060
FPS 数据来自外部工具(此处为 MSI Afterburner),并在几秒内取平均值。
如果你决定自行测试,请记住 ImmediatelyFast 只能在 CPU 成为瓶颈的场景中提升 FPS
(如果你的 GPU 不是太老旧或你使用了非常重的光影,这很可能就是这种情况)。
较慢的 CPU 比较快的 CPU 更能从该模组中受益。
实体渲染
在繁忙的服务器上,FPS 通常应提高约 2 倍。[使用 IF 1.1.7 在 1.19.3 上测试]
_在 spigot 服务器上测试,屏幕上的 3×3 区域内生成 1000 头牛。_
| 其他模组 | 未使用 ImmediatelyFast | 使用 ImmediatelyFast | 提升 |
|—————–|————————-|———————-|————-|
| 无 | 16 FPS | 60 FPS | 3.75x |
| Sodium | 21 FPS | 82 FPS | 3.90x |
| Iris 和 Sodium | 60 FPS | 76 FPS | 1.27x |
地图渲染
当屏幕上有很多地图时,FPS 通常应提高约 5 倍。[使用 IF 1.1.1 在 1.19.3 上测试]
_在 fabric 服务器上使用 Image2Map 模组测试,屏幕上约有 930 张地图。_
| 其他模组 | 未使用 ImmediatelyFast | 使用 ImmediatelyFast | 提升 |
|—————–|————————-|———————-|————-|
| 无 | 50 FPS | 310 FPS | 6.20x |
| Sodium | 47 FPS | 320 FPS | 6.81x |
HUD 渲染
在几乎所有场景中,FPS 通常应提高约 40%。[使用 IF 1.1.7 在 1.19.3 上测试]
_在 spigot 服务器上测试,屏幕上显示不同的 HUD 元素(计分板、药水效果叠加层、Boss 血条、填充聊天框、额外生命值、完整快捷栏)。_
| 其他模组 | 未安装 ImmediatelyFast | 安装 ImmediatelyFast | 提升 |
|———————|————————-|———————-|————-|
| 无 | 250 FPS | 380 FPS | 1.52x |
| 钠 | 335 FPS | 630 FPS | 1.88x |
| Exordium 和 钠 | 740 FPS | 840 FPS | 1.14x |
文本渲染
当周围有许多告示牌或全息投影时,FPS 通常应提高约 2 倍。[使用 IF 1.1.7 在 1.19.3 上测试]
_在 spigot 服务端上测试,屏幕上有 200 个告示牌(填满文本)。_
| 其他模组 | 未安装 ImmediatelyFast | 安装 ImmediatelyFast | 提升 |
|—————–|————————-|———————-|————-|
| 无 | 70 FPS | 125 FPS | 1.79x |
| 钠 | 110 FPS | 300 FPS | 2.73x |
方块实体渲染
当周围有许多方块实体时,FPS 通常应提高约 20%。[使用 IF 1.1.7 在 1.19.3 上测试]
_在 spigot 服务端上测试,屏幕上有 400 个箱子。_
| 其他模组 | 未安装 ImmediatelyFast | 安装 ImmediatelyFast | 提升 |
|—————–|————————-|———————-|————-|
| 无 | 170 FPS | 205 FPS | 1.20x |
| 钠 | 315 FPS | 410 FPS | 1.30x |
兼容性
ImmediatelyFast 的结构设计旨在尽可能少地干扰其他模组。
它应该能与大多数甚至所有模组和整合包正常工作。
已知不兼容项:
- OptiFabric / OptiFine
- 大多数闭源“客户端”,如 LunarClient 和 LabyMod
如果遇到任何问题,请在 问题追踪器 上报告。
配置
ImmediatelyFast 有一个配置文件,可在 Minecraft 实例的 config 文件夹中找到。大多数选项应保留默认值,但有些选项可以调整以提高性能或兼容性。
font_atlas_resizing:增大字体图集纹理的尺寸。这能提升高分辨率或自定义服务器字体下的性能。map_atlas_generation:将地图纹理合并到单个纹理中,而不是使用多个纹理。当屏幕上显示大量地图时,这能提升性能。hud_batching:通过减少绘制调用来提升 HUD 渲染的性能。如果你遇到 HUD 元素相关的问题,请尝试禁用此优化。fast_text_lookup:在渲染文本字符之间缓存一些数据。在渲染大量文本时能略微提升性能。avoid_redundant_framebuffer_switching:此优化减少了在世界中渲染许多不同内容(实体、粒子、方块实体……)或 HUD 时的帧缓冲切换次数,从而提高 FPS。experimental_disable_error_checking:禁用 OpenGL 错误检查。这可能会在某些系统上提升性能,但启用后可能导致难以调试的问题。experimental_disable_resource_pack_conflict_handling:控制 ImmediatelyFast 是否应扫描资源包中不兼容的核心着色器修改,以禁用一些冲突的优化。禁用此项可以强制应用优化,即使它们可能会与某些资源包产生图形问题。experimental_sign_text_buffering:将告示牌上的文本缓存起来,而不是每帧重新渲染。可能会导致高分辨率或自定义字体出现问题。experimental_screen_batching:通过减少绘制调用来提升某些游戏内界面渲染的性能。
开发者 API
你可以在此阅读最新版本的 API 文档。
合作伙伴
Kinetic Hosting 提供硬件非常优秀的超实惠服务器套餐!如果你想享受这些优惠,请访问 kinetichosting.com。

YourKit 以创新且智能的工具支持开源项目
用于监控和分析 Java 和 .NET 应用程序。
YourKit 是 YourKit Java Profiler、
YourKit .NET Profiler
以及 YourKit YouMonitor 的开发者。
感谢 sydist 制作了徽标!

评论
登录后评论和评分