调整引擎功能的级别

如何通过控制台变量或者命令行指令来调整引擎的特性。

Windows
MacOS
Linux

控制台变量和命令

有些功能可以在运行时,由游戏的控制台或者编辑器的输出日志窗口/控制台进行开关切换。 已有很多控制台变量可以用来调整引擎的渲染质量,以配合不同的平台和硬件性能(请看一下 BaseScalability.ini 文件,使用编辑器界面,使用 sg. 的控制台变量,或者 Scalability 控制台命令)。

几个对分析最有用的变量:

控制台变量

描述

r.SetRes

改变屏幕,或窗口的分辨率。

r.VSync

开启/关闭垂直同步(可能依赖于是否原生全屏)。

r.ScreenPercentage

用于减小内部实际渲染分辨率,画面会在重新放大。

r.AllowOcclusionQueries

用于禁用遮挡(可以让场景运行的更慢)。

r.TiledDeferredShading

能够关闭基于 Tile 的延迟光照技术(GPU粒子的光影则没有退回方法)。

r.TiledDeferredShading.MinimumCount

能够调整使用多少灯光应用在基于 Tile 的延迟光照技术(视觉上并没有差异但性能会有不同)。

Pause

暂停游戏或者 Matinee(分析时更加稳定,但禁用了 Update/Tick)。

Slomo

能够对游戏进行加速或者减速播放。

r.VisualizeOccludedPrimitives

显示被裁剪掉的物件的外盒框。

StartFPSChart StopFPSChart

请看下文。

r.SeparateTranslucency

这是一个用于修复半透明情况下景深的问题的功能,如果不需要的时候可以把它关闭,并有其他影响(查阅 SceneColor)。

r.Tonemapper.GrainQuantization

用于关闭在 Tonemapper 中添加的噪点来避免 Color Banding,由于 8bit 量化和较小的质量改进在输出为 10:10:10 并不必须。

r.SceneColorFormat

能够选用不同的 SceneColor 格式(默认是 64bit 的最佳质量,并支持屏幕空间子表面散射)。

FX.AllowGPUSorting

禁用粒子排序(在大量粒子的使用可以妥协使用)。

FX.FreezeParticleSimulation

禁止粒子的更新。

r.SSR.MaxRoughness

调整屏幕空间反射(SSR)粗造度的最大值,并覆盖后处理中的该设置。请查阅 Show Flag VisualizeSSR。

命令行选项

有些功能可以在命令行中进行关闭,比如 UE4.exe -NoSound

几个对分析比较有用的开关是:

命令行选项

描述

-NoSound

禁用声音和音乐系统。

-NoTextureStreaming

关闭贴图 steaming(对于隔离问题时很有帮助)。

-NoVerifyGC

否则需要预期在 Release 版本中每 30 秒会遇到的性能波动。

-NoVSync

能够更快的渲染但会导致画面撕裂,尤其是在高帧数下。

-Streaming

在使用 StartFPSChart/StopFPSChart 很有用,能够从一个非 windows 设备上来获取数据并用于进一步检测(假设我们是实时的 cook 数据)。

编译选项

请不要在 Debug 版本下进行性能的分析和测量。为了方便起见,我们建议针对 Development 版本做性能分析。在 Shipping 下的性能实际上会因为开发特性进一步的移除而更快。 测试当然最好是在 Shipping 中完成,但需要一些代码功能被打开才行。(比如控制台,比如 stat unit 功能)。

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback