智慧 + 毅力 = 无所不能

正确性、健壮性、可靠性、效率、易用性、可读性、可复用性、兼容性、可移植性...

导航

UE4 渲染性能设置

Posted on 2020-07-15 16:00  Bill Yuan  阅读(3987)  评论(0编辑  收藏  举报

转自:https://gameinstitute.qq.com/community/detail/121226

本篇文章主要跟大家介绍的是UE4虚幻引擎的渲染性能设置,不清楚方法的可以看看。

渲染设置(Rendering Setting)

       本文介绍 ue4 4.14的世界设置

在编辑器最上端点击“设置”(Settings)按钮, 选择“项目设置”(Project Settings)打开“项目设置”面板, 在项目设置面板左边的 “引擎”(Engine)中选择Rendering 打开渲染设置,这些设置被保存在DefaultEngine.ini中

渲染设置中的属性介绍:

Mobile

Mobile HDR : 是否在手机上启用 高动态范围光(HDR),如果选择该项,在手机上将会使用全HDR光照功能,以及某些后处理功能,这些功能需求会消耗较多的内存性能来换取高品质的光照效果,在配置较低的手机上,如果不需要较好的光照效果,建议关闭掉该项 更多Max Dynamic Point Lights : 移动设备能够支持的最大动态光数量, 如果设置成0,相关的shader将不会被生成,修改此项需要重启编辑器Use Shared Dynamic Point Light Shaders : 如果选择该项,多个动态光将会使用同一个shader这会轻微的降低效率,但可以减少shader的生成量,修改此项需要重启编辑器Enable Combined Static and CSM Shadowing : 是否同时接受来自固定光源的静态阴影和CSM阴影 (疑问? 不太明白为什么要使用两种阴影,是否应该理解为离相机较远的地方使用普通的shadow map,较近的地方使用 CSM)Disable vertex fogging in mobile shaders : 选择该项,在移动设备上所用的shader将不计算顶点着色阶段的雾(如果有的话)以增加渲染效率

Materials

Game Discards Unused Material Quality Levels : 选择该项将不会加载与当前手机支持的渲染等级不相关的shader, 不勾选该项的话将会加载所有等级的shader 这样的话可以支持运行时动态切换渲染等级Clear Coat Enable Second Normal : 对于ClearCoat(ClearCoat:透明涂层,通常用于模拟在材质的表面有一层薄的透明涂层的情况,如钢琴烤漆之类的效果) 是否为第二层材质指定单独的法线贴图。 下图为不使用和使用双重法线的对比

  Dual CC Off  Dual CC On

 

为ClearCoat使用双重法线详解

Culling

Occlusion Culling : 是否允许被遮挡的物体被裁剪掉以致不参与渲染Min Screen Radius for Lights : 光源被裁剪的屏幕半径,即光源被投影到屏幕坐标系下其发光半径小于该值时该光源将会被裁剪,可以理解成是当光源远离相机时该光源被禁用的时机Min Screen Radius For Early Z Pass : Early-Z 测试阶段 物体被投影到屏幕上的半径小于该值时,该物体将会在Early-Z阶段被裁剪掉,一定范围内增加该值能够提升渲染性能,但设置过大会造成大的遮挡物被剔除而可能使引擎渲染更多物体Min Screen Radius for Cascaded Shadow Maps : (待查)Warn about no precomputed visibility : 当没有Precomputed visibility数据可被当前摄像机使用的时候是否打印警告,这在需要使用Precomputed visibility的游戏中比较实用,如 第一人称手游

Textures

Texture Streaming : 开启后只有当前可以被看见的物体, 其贴图才会被加载Use DXT5 Normal Maps : 是否使用DXT5格式的法线贴图,如果不使用DXT5格式则BC5格式的法线贴图会被使用,但BC5格式不被所有硬件支持, 修改此项需要重启编辑器

Reflections

Reflection Capture Resolution : 设置Cubmap的分辨率,必须设置为是2的n次方Reduce Lightmap mixing on smooth surface : (待查)

Forward Shading

Forward Shading : 是否在PC上使用前向渲染模式,前向渲染需要硬件支持shader model 5, 前向渲染支持多重采样抗锯齿(MSAA) 并且开销比较小,但与延迟渲染相比有很多效果不能实现, 修改此项需要重启编辑器Vertex Fogging for Opaque : 让不透明材质使用逐顶点计算雾,逐顶点雾具有较好的性能并支持多重采样抗锯齿(MSAA) 该设置只用于前向渲染


Lighting

Allow Static Lighting : 是否开启静态光照, 开启后将生成 lightmap, shadow map之类的可在静态光照下使用的贴图,否则仅使用动态光照, 修改此项需要重启编辑器Use Normal Maps for Static Lighting :是否将法线图用在静态光照计算中使用Generate Mesh Distance Fields : 是否为静态网格创建距离场 (详细 待查)Generate Landscape Real-time GI Data : 是否为地形(Landscape)生成一基本色的贴图用于支持实时全局光照, 开启该选项需要连同 ”Generate Mesh Distance Fields“一起开启,开启后会增加场景构建时间和内存开销DBuffer Decals : 是否使用延迟贴花,延迟贴花会将贴花保存在DBuffer中,使贴花在阴影或间接静态光源下正确渲染, 修改此项需要重启编辑器 参考Support global clip plane for Planar Reflections : 是否开启 平面反射(Planar Reflections) 平面反射相对于 屏幕空间反射(SSR) 具有更好的效果 但渲染开销较高。渲染开销较高的原因来自平面反射的工作原理。因为平面反射实际上将从反射方向再次对关卡进行渲染, 修改此项需要重启编辑器。 下图分别是SSR反射和平面反射:
SSR Reflection   PR Reflection

 

Tessellation

Adaptive pixels per triangle : 是否细分三角面使每个三角面包含相同数目的像素以增加模型细节

Translucency

Separate Translucency : 是否让半透明渲染到独立的RenderTarget, 如果渲染到独立的RenderTarget,该target将会在景深(Depth of Field )处理之后被混合到目标target以防止半透明失焦,让半透明渲染到独立的RenderTarget可以防止一些后处理效果对半透明造成的bugTranslucent Sort Policy : 选择半透明物体的排序方式, 这会影响半透明的排序方式和在相机移动的时候如何变换半透明的排序,目前的选择有 根据到相机的距离排序(Sort by distance), (Sort by project z), (Sort along axis)Translucent Sort Axis : 如果“Translucent Sort Policy” 选择的是Sort along axis的话需要设置该值

Postprocessing

Custom Depth-Stencil Pass : (待查)

Default Settings

Bloom : 是否开启光晕(Bloom) 这个设置在在 postProcess volume,相机和游戏设置中都可以被更改Ambient Occlusion : 是否开启 环境遮挡(AO)这个设置在在 postProcess volume,相机和游戏设置中都可以被更改Ambient Occlusion Static Fraction(AO for baked lighting) : (待查)Auto Exposure : 是否开启自动曝光 即人眼适应(Eye Adaptation), 开启后会让场景曝光自动调整以重建犹如人眼从明亮环境进入黑暗环境(或相反)时所经历的效果, 这个设置在在 postProcess volume,相机和游戏设置中都可以被更改Auto Exposure : 选择自动曝光模式 Auto Exposure Basic : 低采样曝光,运算速度较快 不支持移动设备,Auto Exposure Histogram : 根据场景颜色的直方图以使摄像机或眼睛适应于场景 运算速度较慢,不支持移动设备, 这个设置在在 postProcess volume,相机和游戏设置中都可以被更改Motion Blur : 是否开启 运动模糊, 这个设置在在 postProcess volume,相机和游戏设置中都可以被更改Lens Flares(Image based) : 是否开启 镜头眩光 , 这个设置在在 postProcess volume,相机和游戏设置中都可以被更改Anti-Aliasing Method : 选择抗锯齿方式, None:不使用抗锯齿, FXAA:快速近似抗锯齿(Fast Approximate Anti-Aliasing)FXAA是一种单程像素着色器,运行于渲染管线的后期处理阶段,相比于MSAA,FXAA的目标是速度更快、显存占用更低,还有着不会造成镜面模糊和亚像素模糊,所以对显卡没有特殊要求, Temporal AA: Temporal Anti-Aliasing (TXAA) 该模式将 MSAA、时间滤波相结合,运行于渲染管线的后期处理阶段, 可呈现更高的视觉保真度 MSAA : Multi-Sampling AA 是在光栅化阶段,判断一个三角形是否被像素覆盖的时候会计算多个覆盖样本(Coverage sample),但是在pixel shader着色阶段计算像素颜色的时候每个像素还是只计算一次 参考文章:https://www.zhihu.com/question/20236638 http://developer.download.nvidia.com/assets/gamedev/files/sdk/11/FXAA_WhitePaper.pdf https://en.wikipedia.org/wiki/Temporal_anti-aliasing

Optimiztions

Use Stencil for LOD Dither Fading : (待查)Early Z-pass 早Z阶段 需要渲染那些物体, None:不处理任何物体,opaque meshes only :只渲染不透明mesh, opaque and masked meshes, decide automatically:由引擎决定渲染哪些物体Movables in early Z-pass : 是否在early Z-pass阶段 渲染移动物体Clear Scene : 选择G-Buffer的清除方式,Do not Clear : 不清楚gbuffer是最快的一种方式, 但如果当前画面不能填充整个buffer的时候, 这中方式会在屏幕上照成画面残留, 所以使用这个选择 最好给场景指定一个天空盒, Hardware Clear : 在渲染之前完全有硬件来清楚, 这种方式适合大部分情况, Clear at Far Plane : 在远裁剪面绘制一四方形面, 这种方式在某些gpu上速度快于 Hardware ClearAccurate velocities from Vertex Deformation : (待查)Selectively output to the GBuffer rendertargets : 不渲染不相关的东西到GBuffer, 具体怎么实现参考 ue4 工程师的回答 “This feature is an optimization to save bandwidth when reading and writing the gbuffer. The implementation uses some GBufferB.a bits as flags to encode predefined values for other rendertargets. For instance, if the base passpixelshader is guarantied to not output any precomputed shadow factors, instead of exporting (0,0,0,0) to GBufferE , it does not export to it (saving bandwith) and rather sets the flag ZEROPRECSHADOWMASK” , 修改此项需要重启编辑器 更多Enable Particle Cutouts by default : (待查)GBuffer Format : 选择GBuffer的格式, 不同的格式会对性能有不同的影响,因为格式的不同会造成数据量的不同和gpu上内存的使用量不同,以至造成不同的读写带宽,可选格式有, Default: PF_B8G8R8A8, force 8 bits per channel : PF_B8G8R8A8, high precision normals : PF_FloatRGBA, force 16 bits per channel : Force16BitsPerChannelUse GPU for computing morph targets : 使用cpu还是gpu来混合顶点变形缓冲(morph targets) morph targets 保存了某个模型顶点改变后的快照,例如,人物在做面部表情时可将改变后的面部表情存入morph target,然后通过morph target与原模型混合来表现面部表情Support Compute Skincache : (待查) 4.14 新加功能 还属于实验性质的, 大概是说在gpu上用 compute shader 计算蒙皮 然后缓存到一个单独的buffer供后续渲染批次使用, 修改此项需要重启编辑器

VR

Instanced Stereo 是否支持 实例化立体绘制(Instanced Stereo) 渲染双眼 仅支持 D3D, SM5, PS4Multi-View : 是否为 Instanced Stereo开启多视图渲染,仅支持PS4Mobile Multi-View : 是否在移动平台 为Instanced Stereo开启多视图渲染,仅支持 es3.1 安卓 GearVR设备

Editor

-Wireframe Cull Threshold : 设置编辑器窗口 线框模式下 的裁剪半径

Shader Permutation Reduction

Support Stationary Skylight : 静态天光需要在basepass阶段切换shader,禁用掉会减少shader的切换频率, 修改此项需要重启编辑器Support Low quality lightmap shader permutations 低质量lightmap 需要切换 lightmap 渲染shader ,禁用掉会减少shader的切换频率, 修改此项需要重启编辑器Support PointLight WholeSceneShadows : 点光源的渲染 在需要在cubmap渲染阶段不断切换顶点和像素shader,禁用掉会减少shader的切换频率, 修改此项需要重启编辑器Support Atmospheric Fog : 大气雾的渲染 在需要在basepass阶段切换shader,禁用掉会减少shader的切换频率, 修改此项需要重启编辑器