Gnetum

Gnetum

将HUD更新分散到多个帧以提高性能

性能

Gnetum

一款通过将HUD更新分散到多个帧来提升性能的Minecraft模组。

概述

Gnetum将完整的HUD更新划分为多个“通道”。每帧仅渲染一个通道,从而减少HUD更新所占用的时间,提升帧率(FPS)。

基于每个元素的渲染耗时,Gnetum会自动将其更新分散到多个帧,同时提升平均FPS和最低FPS。

技术说明

Gnetum的设计思路是降低HUD的帧率——HUD渲染开销不小且并非频繁变化——从而提升游戏整体性能,同时改善平均FPS和最低FPS。具体实现方式如下:

  • Gnetum使用两个帧缓冲,分别称为后帧缓冲和前帧缓冲。
  • 每帧仅向后帧缓冲渲染一个“通道”,即完整HUD的一个(可定制的)部分。
  • 例如,如果通道数设为4,一次完整的HUD更新就会被分散到4帧中,每帧减少大量绘制调用,从而提升FPS。
  • 所有通道渲染完成后,后帧缓冲会与前帧缓冲“交换”。
  • 每帧还会渲染前帧缓冲,其中包含完整HUD的纹理。

此外,还有一个HUD帧率限制器,用于定义HUD的最大FPS。

配置

从4.0.0版本开始,集成了Sodium配置API。可在视频画面设置中访问配置,调整以下选项:

  • 通道数量
  • 最大HUD帧率(FPS)
  • 为每个元素启用/禁用缓存

兼容性

1.20.1、1.21.1 和 1.21.11

✔️ ImmediatelyFast:完全兼容,推荐使用。

1.12.2

⚠️ OptiFine:请确保禁用“快速渲染”(否则本模组将不起作用)。

⚠️ StellarCore:请确保禁用其HUD缓存功能(如果不确定如何禁用,可忽略此项:默认情况下已禁用)。

致谢

本模组的灵感来源于 Moulberry 制作的 HUDCaching 模组。