游戏优化纪要
游戏优化纪要
不同平台的渲染科普
- PC使用IMR(Immediate Rendering): 直接渲染管线,渲染一整张图
- 移动端使用TBR(Tile-Based Rendering): 分块渲染管线
- 并不绝对,不同的设备可能有不同的处理
https://github.com/Swung0x48/TriangleBin
优劣势
- TBR功耗低(带宽小)
- IMR效率高
- TBR MSAA性能基本没消耗,blending消耗也低
- TBR后期会访问整张RT, 消耗大量带宽
- TBR不支持大量顶点数据, FrameData空间有限
- TBR渲染前一定要Clear,不然会从缓存重新读取上一帧RT
优化方向
- CPU占用(shader预编译、逻辑运算、线程…)
- GPU占用(设备瓶颈、shader复杂度、顶点数量、DrawCall、OverDraw、透明效果、粒子特效、后期效果…)
- 内存占用(GC、脚本内存管理、资源管理)
- 性能分析自动化
- 完善/自定义分析工具
- 性能数据收集、分析
- OverHead移动端遵循硬件指令大量少次
- 剔除、合批
- 避免alpha test破环渲染队列
GPU分析工具
This post is licensed under CC BY 4.0 by the author.