我有一系列UIImage(由来自服务器的传入jpeg数据制成),希望使用MTKView进行渲染。问题是,与GLKView相比,它太慢了。当我要在MTKView中显示一系列图像但在GLKView中没有延迟时,会有很多缓冲和延迟。
这是MTKView显示代码:
private lazy var context: CIContext = {
return CIContext(mtlDevice: self.device!, options: [CIContextOption.workingColorSpace : NSNull()])
}()
var ciImg: CIImage? {
didSet {
syncQueue.sync {
internalCoreImage = ciImg
}
}
}
func displayCoreImage(_ ciImage: CIImage) {
self.ciImg = ciImage
}
override func draw(_ rect: CGRect) {
var ciImage: CIImage?
syncQueue.sync {
ciImage = internalCoreImage
}
drawCIImage(ciImg)
}
func drawCIImage(_ ciImage:CIImage?) {
guard let image = ciImage,
let currentDrawable = currentDrawable,
let commandBuffer = commandQueue?.makeCommandBuffer()
else {
return
}
let currentTexture …Run Code Online (Sandbox Code Playgroud)