Closed. This question needs to be more focused。它当前不接受答案。












想改善这个问题吗?更新问题,使其仅关注editing this post一个问题。

23天前关闭。



Improve this question




我很难理解两者的实际区别。
假设我已将我的local_size定义如下:
layout(local_size_x = 32, local_size_y = 32, local_size_z = 1)in;
现在我打电话给:
glDispatchCompute(1, 1, 1);
如果我没记错的话,这将导致int 32 * 32 * 1着色器调用。
所以,这有什么区别:
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1)in;
和:
glDispatchCompute(32, 32, 1);

最佳答案

最明显的不同可能是工作组中对调用的shared variables支持。与工作组相比,工作组中的所有调用都被称为并行运行。通常,这主要是关于您的代码如何映射到硬件及其与其交互的能力。

关于c - OpenGL的工作组大小和本地大小之间有什么区别? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63713465/

10-11 16:23