移动设备渲染限制
参见
常规的 3D 渲染的局限性 也适用于移动平台。
为了在移动设备上提升初始性能,Godot 在 Android 和 iOS 上默认会自动使用对低端设备友好的设置。这些设置是通过在项目设置中使用 .mobile
特性标签后缀实现的。
在移动平台上,会影响 3D 项目的最明显区别就是光照是按顶点计算的,而不是按像素。这样会大幅提升性能,但可能会破坏部分场景的渲染,尤其是在网格细分程度不够时,顶点光照就没有那么好看。可以在“项目设置”中禁用,代价是牺牲性能(见下文)。
使用 GLES2 时,有些自定义着色器可能会在导出到 Android 时出问题。原因是默认会为了提升性能而使用较低的着色器精度。通过启用 rendering/gles2/compatibility/enable_high_float.Android
项目设置,你可以强制所有着色器计算都使用高精度,但这会带来显著的性能开销,无法在所有设备上正常工作。
以下项目设置有专门的移动平台覆盖项:
设置 | 桌面默认 | 移动默认 |
| 4096 | 2048 |
| 3D | 3D Without Effects(3D 不带特效) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4096 | 2048 |
| PCF5 | Disabled(禁用) |
仅限 GLES3: | 2 | 1 |
仅限 GLES3: | 512 | 128 |
仅限 GLES3: |
|
|
仅限 GLES3: |
|
|
关于设置覆盖项的更多信息,请参阅 ProjectSettings 类文档。
如果你的项目仅以移动平台为目标,请考虑将项目设置中的值改为与移动平台覆盖项一致。这样,在桌面平台运行项目时,就会得到与移动平台更接近的预览(从编辑器中运行也一样)。
警告
由于驱动问题,Android 和 iOS 上对的 GLES3 支持不太好,尤其是在较旧或低端设备上。因此建议在以移动平台为目标时使用 GLES2 渲染器(尤其是 Android)。
可以在“项目设置”中修改渲染后端(渲染 > 质量 > 驱动 > 驱动名称)。