GPU并行困境

时间:2014-05-26 10:39:32

标签: opengl rendering gpu-programming

我的问题是OpenGL绘制原语是否平行,或者只是以这种方式进行光栅化?简单地说,如果我想要绘制两次相同的图元,如果我将顶点复制到缓冲区两次,并且只调用一次drawarrays,或者将导致相同的渲染速度,就像我只复制顶点一样,它会渲染得更快吗?一次,并称为drawarrays两次(不计算CPU在GPU上调用的时间)

1 个答案:

答案 0 :(得分:1)

取决于GPU和驱动程序;典型的图形卡有许多核心,可以在多个数据集上运行相同的代码路径。这是经典Single instruction, multiple data并行性和openGL并行性的核心。

两次调用drawArrays对此没有帮助,因为整个管道将被执行两次。

如果您想在不同的地方绘制同一网格的多个副本,通常会使用instancing来更改实例之间的制服。