Vulkan is intended to provide scalable performance when used on multiple host threads.
Vulkan的目的是当使用多线程时可以提供可观的性能。
All commands support being called concurrently from multiple threads, but certain parameters, or components of parameters are defined to be externally synchronized.
This means that the caller must guarantee that no more than one thread is using such a parameter at a given time. More precisely, Vulkan commands use simple stores to update the state of Vulkan objects. A parameter declared as externally synchronized may have its contents updated at any time during the host execution of the command. If two commands operate on the same object and at least one of the commands declares the object to be externally synchronized, then the caller must guarantee not only that the commands do not execute simultaneously, but also that the two commands are separated by an appropriate memory barrier (if needed).
本文探讨了Vulkan库如何支持多线程并发执行命令,特别强调了对外部同步参数的处理,开发者需确保正确使用内存屏障来协调并发操作,以实现高效性能。

235

被折叠的 条评论
为什么被折叠?



