当前位置:网站首页>Performance Optimization - Rendering Optimization Notes
Performance Optimization - Rendering Optimization Notes
2022-08-01 14:02:00 【Chang'an flowers bloom*】
Two basic parameters that affect rendering efficiency: DrawCall and Triangle
The subject range (5%~95%) of Batch on medium and low-end machines is controlled within [0,250]
The number of faces: lod to reduceRendering faces
Camera.Render function stack analysis:
The high consumption of RenderForward.RenderLoopJob is usually due to the high number of Batches.
Culling time is reasonable in the range of 10%~20%.If it is high, you can check several aspects
If the number of GameObject small objects is too large, you can use dynamic loading, block display, CullingGroup Culling Distance and other methods to optimize the time consuming of Culling
If multi-threaded rendering is used in the project and it is enabledOcclusionCulling usually leads to excessive pressure on sub-threads, resulting in high overall Culling. Although OcclusionCulling reduces rendering consumption, its own consumption is also worth noting. The R&D team needs to test the consumption and then determine whether to enable this function.
Render.Mesh CorrespondingIt is the time-consuming rendering that cannot be batched, and its number of calls corresponds to the corresponding number of Batches
ParticleSystem.ScheduleGeometryJobs: It means that the main thread needs to wait for the sub-thread to calculate the position of the Particle before Culling.It is recommended to reduce the complexity of particles
ParticleSystem.Draw: the number of DrawCalls of particles If the function is too high, you can consider reducing the number of particle systems [Real Machine Test->Memory Management->Specific Resource Information->Particle System]
You can reduce the interleaving of particle rendering through the atlas and adjusting the Order in Layer
Shader.CreateGPUProgram: The consumption of the shader when it is rendered for the first time is related to the complexity of the shader. For this, the Shader can be preloaded through the ShaderVariantCollection, and after loadingTrigger Shader.CreateGPUProgram through ShaderVariantCollection.WarmUp, and cache this csv to avoid repeated calls
"An idea for Shader variant collection, packaging and compilation optimization" https://answer.uwa4d.com/question/5da86670e84db43d6efbda72
Turn on multi-threaded rendering: Since uwa online report CPU time usage only counts the time taken by the main thread, if multi-threaded rendering is turned on, it is recommended to submit two versions for internal testing to facilitate analysis and rendering.
GPU Instancing: for grassTrees, buildings and other things that appear repeatedly in the scene have been significantly optimized.
SPR Batcher: Note: Shader needs to be compatible with SRP Particles are not supported Shader variants will interrupt DC batching
边栏推荐
猜你喜欢
随机推荐
2022图片在线加水印源码
What is consistent hashing?In what scenarios can it be applied?
程序员的浪漫七夕
【每日一题】1161. 最大层内元素和
热心肠:关于肠道菌群和益生菌的10个观点
HTB-Mirai
制售假劣农资、非法占用耕地……公安部公布十起危害粮食生产安全犯罪典型案例
【2022蓝帽杯】file_session && 浅入opcode
fh511小风扇主控芯片 便携式小风扇专用8脚IC 三档小风扇升压芯片sop8
VIP的实现原理
[深入研究4G/5G/6G专题-47]: 5G Link Adaption链路自适应-3-下行链路自适应DLLA-PDSCH信道
又拿三个大奖?!多力就是要让你吃的更营养更健康
性能优化——资源优化笔记
Istio投入生产的障碍以及如何解决这些问题
sql中常用到的正则表达
leetcode:1201. 丑数 III【二分 + 数学 + 容斥原理】
NebulaGraph v3.2.0 性能报告
六石编程学:问题要面对,办法要技巧,做不好的功能要想办法
datetime64[ns]转化为datetime
珠海首个水环境安全监测系统上线