预渲染

2020-04-06  本文已影响0人  右腕

剔除(逐对象确定是否可见):距离剔除——》视锥体剔除——》预计算可视性(在每个单元格记录可以看到的内容)——》遮挡剔除;(性能损耗越大,计算顺序越后)

DrawCalls(通知GPU进行图形绘制):

每次渲染1个物体的1种材质

PC端2000~3000次比较合理;手机端1000左右(控制台stat RHI)

由于每次调用结束后都要停顿(询问),次数对性能的影响比较大。

绘制调用会有一个最低的性能损耗

在这一阶段,三角形面数对性能的影响远远低于DrawCalls

当场景确定不会改动时,可以选择合并在同一空间,使用同一模型,碰撞体简单,或者远处的网格体。

如果场景中存在几十和几百个相同的网格体,可以使用

静态网格实例化:即场景只保存1个该网格体的实例,然后渲染多次。(例如草地)

HISMs(Hierarchical Instanced Static Meshes)

可以通过减少模型和材质的个数来减少绘制调用。但是单独1个大而复杂的模型会对后面的碰撞查询,光照贴图产生严重的负担。

LOD:根据距离的不同改变细节层次(每个LOD为了抵消损耗,需要减少面数50%以上)

HLOD:优点在于距离比较远的时候,用1个单一模型代替多个模型,在减少面数的同时会减少DrawCalls的次数

上一篇 下一篇

猜你喜欢

热点阅读