ue4 渲染等优化参考点。
图片使用支持的压缩纹理格式如ETC1,PVRTC,S3TC等格式而不是常见的jpg,png格式加快图片解析,这个UE4已经帮你做了。
下面是关于渲染效率提升的知识点:
影响OpenGL绘制的效率直接和OpenGL API相关的
一部分来自于其在CPU上执行的开销,一部分来自于渲染本身在GPU上执行的开销。
CPU上执行的开销主要是由于调用API导致的OpenGL驱动的开销,这类开销一般可以分成三大类:
第一类是由于驱动提交渲染命令的开销,即调用OpenGL draw函数造成;通过批次合并(即将合理的方式将渲染状态相同多个可渲染物的draw绘制数据合并到一批绘制),以及实例渲染(即将诸多几何数据近似的可渲染物通过一次drawInstance函数绘制,而将这些可渲染物的区别通过数组传入渲染命令中),可以显著降低第一类开销。
第二类是由于驱动提交状态命令导致的状态命令切换的开销,这种切换命令包括了固定管线中的各种光照函数的切换,片段测试与操作的切换,不同Shader, Texture之间的切换,甚至包括VBO, UBO等GPU缓冲对象之间的开销,这两类情况在D3D API使用时也是一样,甚至有表明在D3D中更显著;通过对可渲染物进行有效的排序,将状态相同的部分的可渲染物尽可能依次渲染,从而减少状态的切换,可以较明显减少第二类开销。
第三类就是其他由于OpenGL API被调用导致加载或是同步数据的驱动开销,减少数据的传输,使用VAO,VBO等缓存数据,避免重传数据。
Mipmap用于:
细节层次(LOD)[6] [7]
提高图像质量。从大纹理渲染,其中仅使用小的,不连续的纹素子集可以容易地产生莫尔图案 ;
通过减少采样以渲染每个像素的纹素数量,或增加所采样本的存储位置,加快渲染时间;
减轻GPU或CPU上的压力
该图显示了mipmap如何减少远距离的混叠。请注意左侧图像上的莫尔条纹图案。
Mipmap生成工具:
ue4自带生成纹理工具(必须是2的幂次方或者将power of two mode 设置为非None)
针对Adobe Photoshop的NVIDIA Texture Tools插件
https://developer.nvidia.com/nvidia-texture-tools-adobe-photoshop
下面是UE4中可以提高渲染效率的一些参考点
阴影效率:
光照选择:
https://blog.csdn.net/u010385624/article/details/89339320
尤其建议使用固定光源的级联阴影
LOD 取消阴影:
减少drawCall:
尽量减少一个物体使用多个材质(材质material,不是texture)(因为一个材质至少会有一次drawCall):
使用合并Actor工具,进行顶点合并或者合并为多实例。
Instanced Static Mesh(不使用LOD)
HierarchicalInstancedStaticMeshComponent(使用LOD)
https://answers.unrealengine.com/questions/127435/using-instanced-meshes-doesnt-reduce-draw-calls.html
https://blog.csdn.net/qq_31788759/article/details/81254696
减少顶点数:
自动生成LOD
静态网格体LOD
https://api.unrealengine.com/CHN/Engine/Content/Types/StaticMeshes/HowTo/AutomaticLODGeneration/index.html
HLOD
http://api.unrealengine.com/CHN/Engine/HLOD/index.html
骨架网格体LOD
https://api.unrealengine.com/CHN/Engine/Content/Types/SkeletalMeshes/SkeletalMeshReductionTool/index.html
地形渲染优化
地形细节级别(LOD)系统已经过修改。现在,它不再根据距离,而是根据屏幕大小决定组件的细节,与静态网格体LOD系统的工作原理相似。LOD分配将基于屏幕中的大小为远景三角形给出更一致的尺寸,从而达到前所未有的精细度。
(左图为旧方法;右图为新方法)
您可以前往 视口>查看器>LOD 查看地形LOD。
以下设置可根据屏幕大小控制出现LOD过渡的地方。此外,您现在还可以对材质曲面细分进行控制,使用启动动态阴影的定向光照时可提升性能。
减少渲染物体数:
剔除距离体积(Cull Distance Volume)
http://api.unrealengine.com/CHN/Engine/Actors/Volumes/index.html#%E5%89%94%E9%99%A4%E8%B7%9D%E7%A6%BB%E4%BD%93%E7%A7%AF%EF%BC%88culldistancevolume%EF%BC%89
剔除距离体积(Cull Distance Volume)
剔除距离体积(Cull Distance Volume) 是优化工具,借助它们,你可以基于对象距摄像机的距离和其大小对对象进行剔除(不绘制到屏幕)。它可以在对象尺寸小到可被视为不重要时不绘制对象,从而帮助你优化场景。按照沿其最长有效维度的边界框计算大小,选择的剔除距离是与该大小最接近的剔除距离。
剔除距离体积(Cull Distance Volume)设置取决于 剔除距离(Cull Distances) 属性,如以下 细节(Details) 面板截图所示。
上图中的属性定义下列行为:
体积内大小最接近50单位(距离等于或小于85单位)的对象会在它们距摄像机500单位或更远时被剔除(消失)。
体积内大小最接近120单位(距离介于85单位和210单位之间)的对象会在它们距摄像机1000单位或更远时被剔除(消失)。
体积内大小最接近300单位(距离等于或大于210单位)的对象将永不会被剔除,因为在这种情况下,0被当作无穷大,这意味着永远不可能距摄像机足够远。
要设置,首先向“剔除距离(Cull Distances)”数组中添加一个新条目,方法是单击按钮。接下来,只需填入给定对象的大小以及你希望该尺寸或小于该尺寸的对象被剔除时所处的距离。无需按照特定的顺序创建这些属性。
可视性和遮挡剔除
http://api.unrealengine.com/CHN/Engine/Rendering/VisibilityCulling/index.html
着色器效率:
加速片源着色:减少模糊处理等循环操作,使用纹理查询来代替程序化生成,仅在必要时使用归一化( Normalization),将更多片源着色器工作放到顶点着色器中完成, 减少除法操作。计算尽量简单:能够得到一个近似值就尽量用,不要用类似sin(),cos(),tan()的比较消耗的操作。
减少纹理带宽:减少纹理尺寸,使用mipmapping, 压缩所有的彩色纹理
显示效果效率
可延展性参考
http://api.unrealengine.com/CHN/Engine/Performance/Scalability/ScalabilityReference/index.html
ue4 渲染等优化参考点。相关推荐
- ue4渲染速度太慢_[UE4]性能优化指南(程序向)
封面来源:A Cold Stop(Mixer 制作材质.UE4渲染 ) [UE4]性能优化指南(美术向)玄冬Wong:[UE4]性能优化指南(美术向)zhuanlan.zhihu.com 内容都是处 ...
- 渲染性能优化之几种LOD层次细节总结
CIM(城市信息模型)这种大场景或者说特大场景LOD是非常重要的,城市.BIM.地形都非常系需要,根据公司的项目需求这里做了一下总结各种LOD的技术.算法.策略. 首先,我们公司对于城市这种大场景我们 ...
- 《图解UE4渲染体系》Part 1 多线程渲染
上回书<Part 0 引擎基础>说到,我们粗略地知道UE4是以哪些类来管理一个游戏场景里的数据的,但这仅仅是我们开始探索UE4渲染体系的一小步. 本回主要介绍UE4渲染体系中比较宏观顶层的 ...
- 【转载】UE4 Epic Games工程师分享:如何在移动平台上做UE4的UI优化?
Epic Games工程师分享:如何在移动平台上做UE4的UI优化? 随着技术的不断升级,高性能的引擎逐渐受到越来越多研发商的青睐,UE4就是其中之一.在上周Unreal Open Day 2017活 ...
- 【转】渲染性能优化:如何平衡GPU和CPU
本节主要讲一下虚幻渲染之前,都发生了什么. 渲染流程: 首先,虚幻的渲染由三个线程共同完成.分别是CPU线程,DRAW线程,和GPU线程. CPU线程:顾名思义,运行在CPU上,用于计算游戏中的所有逻 ...
- 3dmax全局材质灯光细分插件_3Dmax渲染Vray渲染提速优化技巧
Mark一下Vray渲染提速优化的一些技巧,需实践出真知. 1.删除场景中你并不需要的物体. 2.删掉不必要的灯光,灯光数量太多也会导致渲染速度慢. 3.尽量少添加光泽(Glossy)效果,容易拖累渲 ...
- maya计算机内存不足请保存,Maya内存不足不能渲染怎么优化场景?
Maya内存不足不能渲染怎么优化场景?可能由于Maya的场景文件过于复杂,或者材质质量过高的问题,用户最终渲染时会出现无法启用高质量的渲染工作的错误,这时候用户可以选择做一些合适的处理,以保证渲染工作 ...
- 渲染性能优化之Culling 剔除
几种剔除: 背面裁剪(Backface Culling) 视锥裁剪(View Frustum Culling) 遮挡剔除(Occlusion Culling) 层次视锥裁剪(Hierarchical ...
- 《图解UE4渲染体系》Part 0 引擎基础
在介绍UE4渲染体系前,我们有必要来先看一下UE4是用什么样的方式来构建游戏场景数据的. 1 Object 在UE4中当我们说Object,通常是指代引擎代码中的UObject类,它是引擎里管理绝大部 ...
最新文章
- boost::hana::integral_c用法的测试程序
- 树上倍增一些理解和写法
- Taro+react开发(2)--简介2
- Swift变量名的一种玩法
- 【Flink】Flink 报错 Initial AbstractPagedOutputView Segment may not be null
- adprw指令通讯案例_超实用,非常典型的Modbus通讯项目案例,三分钟学会
- 【精心挑选】推荐几款非常棒的 jQuery 全景图片展示插件
- 《The Pursuit of Happyness / 当幸福来敲门》(2006)
- 信息安全之程序实现简单替换加密,并用字母频率统计进行破解
- fread函数 linux在哪,fread函数返回值
- 会议室管理系统源码分享-Spring mvc+mybatis+jpa+mysql+bootstrap
- Django setting ALLOWED_HOSTS
- 采集百度搜寻结果,图片不显示的解决方法
- pandas.plotting.scatter_matrix 参数
- 源发行版17需要目标发行版17
- 图像处理之图像质量评价指标MSE(均方误差)
- 个人站长之路,痛下决心换云服务器
- 弱电包含在计算机专业,弱电包含哪些系统
- linux下文件的mtime
- 一个人最重要的不是修生命,而是生命在哪里显现