将 GPU 同步到 CPU Metal iOS
Synchronize GPU to CPU Metal iOS
如何将托管资源的内容从 GPU 同步到 iOS 上的 CPU?在 MacOS 上我只需要调用同步方法。
https://developer.apple.com/documentation/metal/mtlblitcommandencoder/1400775-synchronize
但这在 iOS 上不可用,您知道我该怎么做吗?
iOS 上的 Metal 中没有托管资源。所有资源存储都在 CPU 和 GPU 共享的内存中。因此,要将 GPU 写入的数据同步到 CPU,您只需确保任何已写入资源的命令缓冲区已完成,然后再从 CPU 访问它们。您可以使用 MTLCommandBuffer
协议上的 addCompletedHandler
方法来注册一个将在命令缓冲区完成时调用的块。
如何将托管资源的内容从 GPU 同步到 iOS 上的 CPU?在 MacOS 上我只需要调用同步方法。
https://developer.apple.com/documentation/metal/mtlblitcommandencoder/1400775-synchronize
但这在 iOS 上不可用,您知道我该怎么做吗?
iOS 上的 Metal 中没有托管资源。所有资源存储都在 CPU 和 GPU 共享的内存中。因此,要将 GPU 写入的数据同步到 CPU,您只需确保任何已写入资源的命令缓冲区已完成,然后再从 CPU 访问它们。您可以使用 MTLCommandBuffer
协议上的 addCompletedHandler
方法来注册一个将在命令缓冲区完成时调用的块。