CAGradient与UIImage渐变性能比较

CAGradientCAGradient速度很慢,我们应该使用UIImage渐变代替它。 让我们来看看。

TL&DR:具有shouldRasterize = NO CAGradientUIImage具有相同的性能,并且比具有shouldRasterize = YES更快。

在比较它们速度的第一个实验中,我创建了带有UITableView和每个UITableViewCell内部的渐变的示例项目。 每个单元格都在prepareForDisplay重绘其渐变,因此我们可以测量渲染时间。

共有三种类型的渐变:

  • CAGradientLayer(红色)
  • 带有shouldRasterize == YES (绿色)
  • UIImage渐变(黑色)