繁体   English   中英

如何优化过滤器性能CIFilter

[英]How to optimize filter performance CIFilter

static func effectTransfer(image: UIImage) -> UIImage {
    let coreImage = CIImage(image: image)
    let filter = CIFilter(name: "CIPhotoEffectTransfer" )
    filter!.setDefaults()
    filter!.setValue(coreImage, forKey: kCIInputImageKey)
    let filteredImageData = filter!.value(forKey: kCIOutputImageKey) as! CIImage
    let filteredImageRef = ciContext.createCGImage(filteredImageData, from: filteredImageData.extent)

    return UIImage(cgImage: filteredImageRef!)
}

当您单击一个过滤器时,该过滤器的应用速度非常慢,并且处理器增长了1到2到60%,我如何对其进行优化? 我做对了吗?

在此处输入图片说明

最慢的部分是转换为CGImage。 您可以直接从CIImage创建UIImage:

UIImage(ciImage: outputCI, scale: input.scale, orientation: input.imageOrientation)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM