UE4渲染基础

UE4实时渲染入门

实时渲染:

~打开控制台命令

r.shadowquality应用运行的时候,设置动态阴影的质量

r.shadowQuality 0阴影消失(实时阴影)

r.shadowQuality 1阴影出现

延迟渲染(虚幻)(高要求的应用拥有稳定设备,深度检测)G缓冲区

前向渲染低端设备,抗锯齿方面更好,延迟渲染可以使用TAA临时抗锯齿,导致轻微重影

虚幻半透明开启需前向渲染无法进行深度检测(延迟渲染),存在排序问题(通过坐标轴位置判断)

RenderDoc分析捕捉帧画面,有虚幻集成版本

1秒=1000毫秒

每秒30帧,就是1000/30,每帧33.3毫秒,ms33.3

每秒60帧,就是1000/60,每帧16毫秒,ms16

控制台stat fps显示帧率

帧率中会有FPS每秒帧数,通常ms比FPS更有用

控制台t.maxfps 600解除帧率上限

如果需要评估性能

控制台stat unit得到更多渲染参数,帧,游戏,绘制,GPU

CPU占用的渲染时间,部分由GPU完成

CPU一般用于处理场景和应用里面所有与位置,旋转,还有变换相关的渲染,它还用来计算动画,物理效果,确定程序运行对象什么时候生成 什么时候销毁。

GPU负责具体的渲染,光照,反射,着色器等等,两种渲染同时发生,效率低的一方决定性能

控制台stat rhi数据面板,可以查看绘制调用次数,再输入一遍移除

下方可以看到,三角形绘制次数 ,以及绘制图元次数

UE4渲染基础_第1张图片
控制台stat scenerendering更多数据
UE4渲染基础_第2张图片
控制台stat none所有不显示

查看着色器复杂度UE4渲染基础_第3张图片

三大开销

半透明开销不做过多赘述

材质和模型的开销

窗口windows中统计面板,完成编译后仍然在编译

当引擎渲染场景时,不会逐像素渲染,不会逐区域渲染或者逐线条渲染,而是逐对象逐模型渲染

每个模型都是一次绘制调用,模型上的一个材质意味着一次绘制调用

绘制调用还有其他意思,假设一个模型,就是一次绘制调用,因此开销并不取决于场景中多边形的数量,而是绘制调用的次数。

引擎是以绘制调用为单位来渲染

动态阴影的开销

动态光源的开销没动态阴影的开销大,动态阴影会随着场景中多边形数量的增多而产生更多开销

如果使用大量动态阴影,就要小心处理场景中多边形的数量

相反,如果只用静态光照,就可以用更多的多边形

你可能感兴趣的:(UE,ue4,游戏引擎,3d渲染)