改善模糊性能iOS7 / 8

时间:2014-07-24 14:58:28

标签: ios objective-c performance ios7 blur

这是模糊视图的最快方式 - 因为对于我的视图(图像的UICollectionView),它对于良好的用户体验来说太慢了 - 有关性能改进的提示,更好的方法吗?

我尝试在BeginImageContext方法(第三个变量)上改变比例,但性能几乎没有变化。

(import category on UIImage from Apple)
#UIImage+ImageEffects.h 

- (UIImage*)blurViewToImage:(UIView *)view type:(int)type {

//0 -dark
//1 -light
//2 -extra light

UIGraphicsBeginImageContextWithOptions(view.frame.size, true, 0.0f);
[view drawViewHierarchyInRect:view.bounds afterScreenUpdates:false];
UIImage * snappy = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

switch (type) {
    case 0:
        return [snappy applyDarkEffect];
        break;
    case 1:
        return [snappy applyLightEffect];
        break;
    case 2:
        return [snappy applyExtraLightEffect];
        break;
    default:
        break;
}

return nil;
}

1 个答案:

答案 0 :(得分:1)

您可能需要查看this on StackOverflow

如果这不符合您的需要,请尝试调用该功能

- (UIImage*)blurViewToImage:(UIView *)view type:(int)type

在一个单独的线程中,因此您的UI保持可用:

[self performSelectorInBackground:(SEL) withObject:(id)]