哪个更快?

时间:2010-08-27 00:23:38

标签: c++ c opengl

我想知道使用窗口大小的窗口大小渲染窗口大小的单个四边形是否比使用双缓冲连接平台特定绘制方式直接将位图直接绘制到窗口更快窗口。

3 个答案:

答案 0 :(得分:2)

纹理的初始设置往往相对较慢,但一旦完成,绘图速度非常快 - 在图形内存可用的典型情况下,它会在初始化时将纹理上传到显卡的内存中设置,之后,所有绘图都将从那里发生。同时,初始上传通常还包括完整的mipmap,分辨率低至1x1,因此您上传的内容不仅仅是全分辨率纹理。

通过特定于平台的绘图,您通常没有预先做多的工作。如果只有部分位图可见,则只会上传可见部分。如果要缩放位图,它通常会在CPU上缩放它并以当前比例将其发送到卡(并且永远不会上传类似于mipmap的任何内容)。 OTOH,几乎每次需要重新绘制某些东西时,它最终会重新发送新曝光区域的位图数据。这并不需要花费太多时间来减少(通常很小的)优势,即尽量减少开始时发送的内容。

答案 1 :(得分:1)

使用纹理通常要快得多,因为大多数原生绘图API都不是硬件加速的。

答案 2 :(得分:1)

很可能取决于显卡和驱动程序。