MultiDraw 模拟方式:V2.0.0 的自动基准测试
为什么需要 MultiDraw 模拟
某些 Minecraft 模组(特别是 Sodium 和 Create 的 flywheel)会大量使用 OpenGL 的 MultiDraw 相关接口来提高渲染效率。但不同的 Android OpenGL ES 驱动对这些接口的支持程度不同,有的缺失、有的行为异常。MobileGlues 在核心库里实现了多种模拟方式来弥补驱动的不足。
V2.0.0 的逻辑重构
V2.0.0 对 MultiDraw 选项的逻辑做了完全重构。旧版只有一个笼统的开关,新版每个 MultiDraw 模拟函数都可以单独配置。核心改进:
- 每个函数独立选择模拟方式
- 内置自动基准测试,跑一遍之后自动选出最快的组合
- 手动调整每个选项以适配特定 GPU
自动基准测试的使用
进入插件 Settings 标签页,找到 MultiDraw 相关选项,点击「自动基准测试」按钮。插件会在你的设备上对各种模拟组合跑一遍性能测试,然后把最快的配置应用上去。整个过程大约需要几十秒到一分钟,取决于你的设备性能。
基准测试的结果是设备相关的——不同 GPU、不同驱动上最优配置可能完全不同。所以不要盲目抄别人的配置,自己测一遍最可靠。
手动调整
如果自动基准测试的结果不理想,或者你想针对特定问题手动微调,可以逐个 MultiDraw 函数切换模拟方式。常见的选项包括优先使用 Direct、优先使用 Indirect、完全禁用等。
启动器侧的 MultiDraw 设置
某些启动器(特别是 Zalith Launcher 和 Fold Craft Launcher)在 renderer 设置里也有一个 MultiDraw 相关选项(比如 "Prefer MultiDraw Indirect")。这是启动器层面的配置,和 MobileGlues 插件里的 MultiDraw 模拟是两层东西。推荐先把启动器的选项设为自动或默认,再由 MobileGlues 的插件来做精细控制。