C++ 哪一个更快?

C++ 哪一个更快?,c++,c,opengl,C++,C,Opengl,我想知道用一个窗口大小的纹理渲染一个窗口大小的四边形是否比使用双缓冲直接将位图绘制到窗口以及特定于平台的方式绘制到窗口要快。使用纹理通常要快得多,由于大多数本机绘图API都不是硬件加速的。这很可能取决于图形卡和驱动程序。纹理的初始设置往往相对较慢,但一旦完成,绘图速度相当快——在图形内存可用的典型情况下,在初始设置期间,它会将纹理上传到图形卡上的内存中,然后,所有的绘图都会从那里开始。同时,初始上传通常还包括完整的mipmap,分辨率为1x1,所以你上传的不仅仅是完整分辨率的纹理 对于特定于平台

我想知道用一个窗口大小的纹理渲染一个窗口大小的四边形是否比使用双缓冲直接将位图绘制到窗口以及特定于平台的方式绘制到窗口要快。

使用纹理通常要快得多,由于大多数本机绘图API都不是硬件加速的。

这很可能取决于图形卡和驱动程序。

纹理的初始设置往往相对较慢,但一旦完成,绘图速度相当快——在图形内存可用的典型情况下,在初始设置期间,它会将纹理上传到图形卡上的内存中,然后,所有的绘图都会从那里开始。同时,初始上传通常还包括完整的mipmap,分辨率为1x1,所以你上传的不仅仅是完整分辨率的纹理


对于特定于平台的绘图,您通常不需要预先做很多工作。如果位图只有一部分可见,则只上载可见部分。如果要缩放位图,它通常会在CPU上缩放位图,并以当前的比例将其发送到卡(并且永远不会上载任何类似mipmap的内容)。OTOH,几乎每次需要重画的时候,它都会重新发送新曝光区域的位图数据。不需要太多的时间就可以失去(通常是很小的)最小化发送内容的优势。

您正在刷新吗?如果是这样的话,你是在问,让gpu做这件事是更快还是让它用软件做?如果您正在刷新,您的帧速率是多少?让我们假设PC有一个至少带有OpenGL 1.2的图形卡,并且由于它是一个绘图软件,所以可以经常刷新