使用像素着色器执行快速计算?

时间:2014-01-22 18:03:28

标签: c++ inline pixel-shader

我希望很多次都能运行一个非常简单的功能。 起初我想过内联函数(它只有四行),所以我认为将它放在标题中会自动完成。 gprof说这是个好主意。但是我听说像素着色器已针对此目的进行了优化。我想知道这是真的吗?我有一个简单的函数,需要6个数字,我希望运行N次。像素着色器会加快速度吗?

1 个答案:

答案 0 :(得分:3)

也许GPU可以加速你的功能,也许不是。这在很大程度上取决于功能。 GPU擅长并行执行。虽然消费级x86 CPU最多有8个核心,但图形卡可以并行执行更多计算。但瓶颈往往是GPU RAM和系统RAM之间的数据传输。当你的函数实际上并不那么昂贵时,这个开销可能会使它蒙上阴影。

最后,你可以尝试自己,测量它,亲眼看看哪个更快。

您可能需要查看OpenCL,这是将计算移动到图形卡的最广泛支持的标准。

当您居住在Windows-land时,还有DirectCompute,它是DirectX的一部分或C ++的Accelerated Massive Parallelism扩展。还有CUDA,但它只支持NVIDIA GPU。