使用 CVPixelBuffer 是创建 CAMetalTexture(MTLTexture) 的唯一方法吗?
Using CVPixelBuffer is only way to create CAMetalTexture(MTLTexture)?
在CVPixelBuffer中,有没有一种方法可以通过简单地使用copyMemory以外的指针从yuv数据指针的基地址到y、u、v平面来创建纹理?
copyMemory创建贴图的方法大约需要0.5ms,但我想获得更好的速度。
我知道 OpenGL 和 DirextX 有一种方法可以通过传递指针并让 GPU 生成纹理来获得更快的速度。
请告诉我任何更快创建纹理的方法
欢迎光临!
您可以使用 CVMetalTextureCache
从 CVPixelBuffers
创建纹理。
您需要先使用 CVMetalTextureCacheCreate
and use it in CVMetalTextureCacheCreateTextureFromImage
创建纹理缓存以创建纹理(在文档页面上向下滚动以获取示例)。
您可以(并且应该)使用适当的设置创建一次纹理缓存,然后 re-use 每次需要创建纹理时都创建它。
在CVPixelBuffer中,有没有一种方法可以通过简单地使用copyMemory以外的指针从yuv数据指针的基地址到y、u、v平面来创建纹理?
copyMemory创建贴图的方法大约需要0.5ms,但我想获得更好的速度。
我知道 OpenGL 和 DirextX 有一种方法可以通过传递指针并让 GPU 生成纹理来获得更快的速度。
请告诉我任何更快创建纹理的方法
欢迎光临!
您可以使用 CVMetalTextureCache
从 CVPixelBuffers
创建纹理。
您需要先使用 CVMetalTextureCacheCreate
and use it in CVMetalTextureCacheCreateTextureFromImage
创建纹理缓存以创建纹理(在文档页面上向下滚动以获取示例)。
您可以(并且应该)使用适当的设置创建一次纹理缓存,然后 re-use 每次需要创建纹理时都创建它。