相关疑难解决方法(0)

多线程呈现与命令池

Nicol Bolas:

毕竟,能够并行构建命令缓冲区是Vulkan的卖点之一.

规范(5.1命令池)(强调我的):

命令池是应用程序同步的,这意味着不能在多个线程中同时使用命令池.这包括通过记录命令在从池分配的任何命令缓冲区上使用,以及分配,释放和重置命令缓冲区或池本身的操作.

当涉及到并行录制时,这种命令池的全部目的是不是就这样了?如果你打算并行记录,那么你最好为每个线程都有一个单独的池,不是吗?

如果你预先记录从同一个池(在一个线程中)分配的命令缓冲区然后并行执行它们,我会理解它.这具有摊销资源创建成本以及并行执行的优势.但是,并行记录和命令池似乎不太匹配.

我个人不知道为什么你不会只是预先录制一切.那么为什么需要并行构建命令缓冲区呢?那么你是否真的必须为每个线程使用一个池?

vulkan

7
推荐指数
1
解决办法
2566
查看次数

标签 统计

vulkan ×1