drawRect:speed和CGContextDrawRadialGradient(超慢?)

时间:2010-12-13 03:39:27

标签: ios core-graphics drawrect gradients

我的UIView子类'drawRect:函数出现问题。 我在其中使用CGContextDrawRadialGradient()。 当用户拖动我的UIView时,如果我包含渐变,它就很难跟上。

使用Time Profiler我看到字面意义>我的98%的时间花在我的子类'drawRect:方法。

首先:使用渐变的静态图像会更快吗? 第二:有什么方法可以加快速度吗?我可以以某种方式缓存渐变吗?它不会发生太大变化,但是当它拖动UIView时,它周围的路径和相交的路径会发生变化。

如果有人知道如何使drawRect:方法不会占用所有cpu周期的一般指南,那就太棒了。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。一种解决方案是绘制较小的梯度并将其放大。结果不是像素完美,而是更快。

另见this answer中提到的想法。