避免帧间不变像素的重复渲染

💡 原文中文,约2700字,阅读约需7分钟。
📝

内容提要

本文介绍了一种减少渲染重复像素的方法,以降低设备能耗。作者表示现有商业引擎未优先考虑省电问题,而这种方法需要引擎本身的结构来配合。作者的引擎专注于移动设备使用,优化重点在于减少计算总量降低能耗。作者还提到了一种生成蒙版的方法,用于标记不需要重新绘制的像素,从而减少像素着色器的重复运算。此外,作者还讨论了如何在阴影处理中使用类似的算法来提高性能。

🎯

关键要点

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

继续阅读