当前位置:网站首页>性能优化——渲染优化笔记
性能优化——渲染优化笔记
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合批
边栏推荐
- The obstacles to put Istio into production and how we solve them
- D - I Hate Non-integer Number(背包dp)
- Gradle系列——Gradle测试,Gradle生命周期,settings.gradle说明,Gradle任务(基于Groovy文档4.0.4)day2-3
- 响应式2022英文企业官网源码,感觉挺有创意的
- 微服务系统架构的演变
- NebulaGraph v3.2.0 性能报告
- SQL function SQUARE
- ECCV 2022|R2L: 用数据蒸馏加速NeRF
- 分布式中的远程调用
- 使用open3d可视化3d人脸
猜你喜欢

SAP ABAP OData 服务如何支持创建(Create)操作试读版

10年稳定性保障经验总结,故障复盘要回答哪三大关键问题?|TakinTalks大咖分享

shell 中的 分发系统 expect脚本 (传递参数、自动同步文件、指定host和要传输的文件、(构建文件分发系统)(命令批量执行))

人像分割技术解析与应用

NebulaGraph v3.2.0 Performance Report

微服务系统架构的演变

Qt实战案例(55)——利用QDir删除选定文件目录下的空文件夹

数字孪生北京故宫,元宇宙推进旅游业进程

芝加哥丰田技术学院 | Leveraging Natural Supervision for Language Representation Learning and Generation(利用自然监督进行语言表示学习和生成)

Programmer's Romantic Tanabata
随机推荐
牛客刷SQL--6
魔众短链接系统 v3.9.0
D - I Hate Non-integer Number(背包dp)
响应式2022英文企业官网源码,感觉挺有创意的
牛客刷SQL--3
【每日一题】593. 有效的正方形
【码蹄集新手村600题】判断一个数字是否为完全平方数
六石编程学:问题要面对,办法要技巧,做不好的功能要想办法
28uA待机8米距离低压保护单片机探头太阳能灯人体PIR定制方案
微信UI在线聊天源码 聊天系统PHP采用 PHP 编写的聊天软件,简直就是一个完整的迷你版微信
E - Red and Blue Graph(组合数学)
tensorflow2.0 handwritten digit recognition (tensorflow handwriting recognition)
批量替换Word中的表格为图片并保存
Multithreading Case - Timer
【每日一题】592. 分数加减运算
NFV迈向云原生时代:Network Service Mesh项目介绍
脚本语言Lua的基础知识总结
NebulaGraph v3.2.0 Performance Report
如何使用OpenCV测量图像中物体之间的距离
iframe标签属性说明 详解[通俗易懂]