当前位置:网站首页>性能优化——渲染优化笔记
性能优化——渲染优化笔记
2022-08-01 13:48:00 【长安花开*】
影响渲染效率的两个基本参数:DrawCall和Triangle
中低端机上Batch的主题范围(5%~95%)控制在[0,250]以内
面数:lod的方式来降低渲染面数
Camera.Render函数堆栈分析:
RenderForward.RenderLoopJob的自身消耗比较高通常是由于Batch数量比较高告知的
Culling耗时在10%~20%的范围比较合理,如果较高可以排查一下几个方面
GameObject小物件数量 如果数量过多可以采用动态加载 分块显示 CullingGroup Culling Distance等方法优化Culling的耗时
如果项目中使用了多线程渲染并且开启了OcclusionCulling,通常会导致子线程的压力过大导致整体Culling过高 虽然OcclusionCulling降低了渲染消耗但是自身的消耗也值得注意需要研发团队测试消耗再确定是否需要开启这个功能
Render.Mesh 对应的是无法合批的渲染耗时,它的调用次数对应相应的Batch数量
ParticleSystem.ScheduleGeometryJobs:指在Culling之前主线程要等待子线程计算Particle的位置,然后才能Culling。建议降低粒子复杂程度
ParticleSystem.Draw:粒子的DrawCall数量 如果该函数过高可以考虑减少粒子系统的数量【真人真机测试->内存管理->具体资源信息->粒子系统】
可以通过图集和调整Order in Layer减少粒子渲染的穿插
Shader.CreateGPUProgram:shader第一次渲染时候产生的消耗,与shader的复杂程度相关 对此可以将Shader通过ShaderVariantCollection进行预加载,加载后通过ShaderVariantCollection.WarmUp来触发Shader.CreateGPUProgram,并缓存此csv,避免重复调用
《一种Shader变体收集和打包编译优化的思路》https://answer.uwa4d.com/question/5da86670e84db43d6efbda72
开启多线程渲染:由于uwa线上报告CPU时间占用只统计了主线程耗时,如果开开起来多线程渲染建议内部测试时候提交两个版本便于分析渲染平静
GPU Instancing:用于草 树木 建筑等在场景中重复出现的事物时,有显著优化
SPR Batcher:注意:Shader需要兼容SRP 粒子不支持 shader变体会打断DC合批
边栏推荐
- 高仿项目协作工具【Worktile】,从零带你一步步实现组织架构、网盘、消息、项目、审批等功能
- 【5GC】5G网络切片与5G QoS的区别?
- 性能测试入门指南
- 模型运营是做什么的(概念模型数据库)
- The obstacles to put Istio into production and how we solve them
- 2022-07-29 网工进阶(二十二)BGP-其他特性(路由过滤、团体属性、认证、AS欺骗、对等体组、子路由器、路由最大接收数量)
- Towhee 每周模型
- SQL function SQRT
- PAT 1162 Postfix Expression(25)
- 态路小课堂丨浅谈优质光模块需要具备的条件!
猜你喜欢
【5GC】5G网络切片与5G QoS的区别?
How does the SAP ABAP OData service support the Create operation trial version
易优压双驱挖掘机压路机器类网站源码 v1.5.8
华盛顿大学、Allen AI 等联合 | RealTime QA: What's the Answer Right Now?(实时 QA:现在的答案是什么?)
windows IDEA + PHP+xdebug 断点调试
JMP Pro 16.0软件安装包下载及安装教程
Yann LeCun开怼谷歌研究:目标传播早就有了,你们创新在哪里?
什么是元编程
207.数组序号转换
关于Request复用的那点破事儿。研究明白了,给你汇报一下。
随机推荐
观察者模式
tensorflow2.0手写数字识别(tensorflow手写体识别)
Multi-threaded cases - blocking queue
34、树莓派进行人体姿态检测并进行语音播报
牛客刷SQL--7
[LiteratureReview]Optimal and Robust Category-level Perception: Object Pose and Shape Estimation f
Efficiency tools to let programmers get off work earlier
uniapp读取和写入文件
人像分割技术解析与应用
【每日一题】592. 分数加减运算
力扣160题,相交链表
PAT 1167 Cartesian Tree(30)
DDL和DML的含义与区别「建议收藏」
什么是元编程
A Beginner's Guide to Performance Testing
如何使用OpenCV测量图像中物体之间的距离
Towhee 每周模型
postgresql之page分配管理(一)
VINS-mono 论文解读:IMU预积分+Marg边缘化
D - Draw Your Cards(模拟)