避免帧间不变像素的重复渲染
💡
原文中文,约2700字,阅读约需7分钟。
📝
内容提要
本文介绍了一种减少渲染重复像素的方法,以降低设备能耗。作者表示现有商业引擎未优先考虑省电问题,而这种方法需要引擎本身的结构来配合。作者的引擎专注于移动设备使用,优化重点在于减少计算总量降低能耗。作者还提到了一种生成蒙版的方法,用于标记不需要重新绘制的像素,从而减少像素着色器的重复运算。此外,作者还讨论了如何在阴影处理中使用类似的算法来提高性能。
🎯
关键要点
- 提出了一种减少渲染重复像素的方法,以降低设备能耗。
- 现有商业引擎未优先考虑省电问题,需要引擎结构配合。
- 引擎专注于移动设备,优化重点在于减少计算总量。
- 介绍了生成蒙版的方法,用于标记不需要重新绘制的像素。
- 讨论了在阴影处理中使用类似算法来提高性能。
- 通过检查像素是否需要重复渲染来降低能耗。
- PreZ流程可以减少部分重复的像素着色器运算,提高性能。
- 蒙版图的生成不需要非常精确,1表示不需要绘制,0表示需要绘制。
- 通过记录绘图指令的出现次数来生成变化蒙版。
- 在CPU层面也可以运用类似算法,减少多余的图形指令。
- 倾向于为每个接收阴影的物件生成独立的阴影图。
- 独立阴影图的生成成本可以优化到O(n Log m)左右。
- 帧间缓存可以减少重新生成阴影图的需求,降低整体能耗。
➡️