【发布时间】:2014-01-24 03:38:46
【问题描述】:
我即将在我的代码库中添加计算着色器支持,但在寻找一些非常基本的问题的答案时遇到了问题:
那里的所有文档都说 Compute Shader 管道独立于 GPU 运行,但是所有 dx11 示例代码都使用设备上下文接口来设置着色器本身、资源视图和调用 dispatch() 方法,所以这些与其余渲染命令一起在命令缓冲区中排队,还是独立执行?
-
跟进问题 1,我是否可以从多个线程调用计算着色器,还是需要缓冲所有计算着色器命令并在创建直接设备上下文的线程上发出它们?
同步。大多数文章使用 CopyResource 命令,该命令将自动同步计算着色器完成并让 CPU 访问结果,但似乎这也会阻塞 GPU。有没有更高效的同步方式?
我知道我可以通过试验找到答案,但如果能帮我节省时间,我将不胜感激。
【问题讨论】:
标签: c++ multithreading directx directcompute