我正在处理一个使用.frameProcessor修改每个帧的PHLivePhoto。这些帧似乎是按顺序处理的,这很慢。我可以让PHLivePhotoEditingContext.frameProcessor利用多个内核吗?
func processLivePhoto(input: PHContentEditingInput) {
guard let context = PHLivePhotoEditingContext(livePhotoEditingInput: input)
else { fatalError("not a Live Photo editing input") }
context.frameProcessor = { frame, _ in
let renderedFrame = expensiveOperation(using: frame.image)
return renderedFrame
}
// ...logic for saving
}发布于 2019-10-04 21:09:23
在这种情况下,恐怕没有办法并行化帧处理。你必须牢记:
expensiveOperation无论如何都不会在frameProcessor块中真正发生,因为实际呈现是由此作用域之外的框架处理的。https://stackoverflow.com/questions/58236594
复制相似问题