Apple关于解决闪烁问题的技术问答(QA1650)包括以下段落.(强调我的.)
您必须为屏幕上的每个像素提供一种颜色.在绘图代码的开头,最好使用glClear()来初始化颜色缓冲区.在帧开始时全屏清除每个颜色,深度和模板缓冲区(如果您正在使用它们)通常也可以提高应用程序的性能.
在其他平台上,如果您要绘制每个像素,我总是发现它是一种不清除颜色缓冲区的优化.(如果你要覆盖那种清晰的颜色,为什么要浪费时间填充颜色缓冲区?)
如何调用glClear()来提高性能?
Adi*_*cin 16
它很可能与基于图块的渲染有关,该渲染将整个视口划分为图块(较小的窗口,通常尺寸为32x32),并且这些图块保存在更快的存储器中.这个较小的内存和实际的帧缓冲之间的复制操作可能需要一些时间(内存操作比算术操作慢很多).通过发出glClear命令,您告诉硬件您不需要以前的缓冲区内容,因此它不需要将帧缓冲区中的颜色/深度/任何内容复制到较小的区块内存中.
| 归档时间: |
|
| 查看次数: |
7344 次 |
| 最近记录: |