使用金属,我正在绘制 YUV420 图像。
一个问题是,当 MTLCcommandBuffer.commit() 时,Pinch 或 Pan 等手势动作会变慢。
commit() 内部在哪个线程上运行?我想知道它是在主线程上工作还是在单独的线程上工作。
如果它在主线程上工作,有没有办法在单独的线程上操作它?
@objc func pinchAction(_ sender: UIPinchGestureRecognizer) {
// this method called slowly
}
let commandBuffer: MTLCommandBuffer = (commandQueue?.makeCommandBuffer())!
func draw(in view: MTKView) {
// do something...
commandBuffer.present(view.currentDrawable!)
commandBuffer.commit()
}