CVMetalTextureCacheCreate和三重缓冲

时间:2018-10-29 17:16:33

标签: avfoundation metal

我正在根据here的建议针对我的金属制图情况实施三重缓冲方案。

效果很好。我正在播放视频剪辑,并且在CVPixelBuffer中的AVPlayer对象到达AVFoundation对象时对它们进行三重缓冲。在视频之间的过渡中,我有一个这样的三缓冲方案的单个 pair 在运行,并且涉及一个内核着色器。似乎在60fps时效果很好。

但是,我对 CVMetalTextureCacheCreate 的缓冲要求有疑问。

我还对这些缓存进行了三重缓冲(为每个电影创建三个这样的缓存),但我不确定是否需要这样做。我正在CVMetalTextureCacheCreateTextureFromImage的{​​{1}}方法中利用缓存(调用drawRect)。对于一对电影,会有一对这样的调用来分散缓存。

在这方面的任何建议都会很棒。

1 个答案:

答案 0 :(得分:2)

您只需创建1个纹理缓存,这1个缓存对应于N个纹理。