设置与性能
设置
在Forge版本的游戏中默认按下Alt+M
,你就能打开MadParticle Designer GUI
,找到设置
界面。
以下提到的所有设置项,在必要的情况下,都可以在.minecraft/config/MadParticleConfig.json
中手动更改。
通用
最大粒子数量
滑块的数值范围是8192~1000000。
在原版设定下,每种RenderType
各自的粒子数量最大为16384,而我们通常只使用有限的一两种RenderType
,在这种情况下使得世界内粒子最大数量相当于16384。MadParticle允许你自由调整此值。
信息
MadParticle的最初设计应用是线上多人展会或类似场景,由于各个玩家硬件状况不同,在这种情况下:
- 如果粒子指定的渲染类型是
实例化
,我们建议将场景粒子总数控制在100000以内; - 如果粒子指定的渲染类型是
半透明
或不透明
,我们建议将场景粒子总数控制在8000以内。
始终限制最大生成距离
当粒子生成时,其与摄像机的距离将有两道阈值:
- 一般最大生成距离:视距的一半,只有始终渲染为
true
的粒子可以在这个距离外生成; - 强制最大生成距离:视距的两倍,即使是始终渲染为
true
的粒子也不能在此距离外生成。将始终限制最大生成距离设置为否可以取消掉此限制。
辅助线程数
信息
循环按钮的排列顺序为仅主线程
(值为1)、6
、4
、8
、12
、2
。默认值为4
。如需要未提供的其他值,请直接修改配置文件。
指定有多少辅助线程将被用于辅助计算,通常推荐这个值略小于或等于你的CPU核心数量。
- 大于核心数时辅助线程之间会产生竞争,从而使得效率降低;
- 等于核心数时,
- 后台的其他程序可能会与Minecraft产生竞争,影响后台程序运行;
- Minecraft切换到主线程所花的时间可能会更久,使游戏帧数产生明显波动,故只推荐用在追求最高效率的固定场景;
信息
上文提到的“CPU核心数量”不考虑超线程技术,仅指物理核心。
对于混合架构用户,目前MadParticle还做不到区分大小核并智能分配任务,您可能需要手动指定Minecraft仅在大核上运行。在这种情况下,你可以将辅助线程数指定等于您的大核(P-core)数量。
提示
服务端解析/mp
指令所使用的多线程不受此限制。
半透明处理方式
半透明面作为图形学经典问题,MadParticle允许你选择你想要的半透明处理方式。
- 深度测试:启用:原版方法。不同深度的重叠粒子只会有一个或几个被渲染,适用于不透明粒子占多数的场景。
- 深度测试:禁用:不同深度的重叠粒子被直接叠加在一起,而不考虑其具体的深度大小。适用于同种半透明粒子占多数的场景。
- 加权混合OIT:顺序无关半透明(Order Independent Transparency)的简单加权方式实现,通过特定公式由透明度和深度计算出权重再进行叠加,可以实现较为正确的半透明渲染。普遍适用于多种场景,但性能消耗比前两者稍大。
信息
深度:想象从摄像机中向前射出一条线,这条线依次由近及远穿过了多个半透明面,这些面具有不同的“深度”。
附加
接管粒子渲染
循环按钮为不接管
、仅原版
、原版及其他Mod
。默认为仅原版
。
- 设为
仅原版
时,MadParticle会把大部分原版粒子的渲染方式修改为实例化
,从而极大地提升性能; - 设为
原版及其他Mod
时,MadParticle会把所有渲染类型为半透明
或不透明
的粒子修改为实例化
。这会使得一些具有特殊渲染的粒子不再遵循其自身的渲染逻辑,因此一般不建议使用。
接管粒子计算
循环按钮为不接管
、仅原版
、原版及其他Mod
。默认为原版及其他Mod
。
- 设为
不接管
时,粒子计算(tick)将按原版逻辑在主线程中执行(包括MadParticle粒子);