使用 Core Graphics,传统上的方法是绘制到上下文,然后绘制到屏幕。但是对于动态(用户更改颜色和位置值)渐变,在任何合理的尺寸下,这都非常缓慢,即使在 iPad Air 2 上也是如此。
有什么方法可以考虑用 Core Animation 制作锥形(nee Angular)渐变并避免上下文性能问题,以便快速动态调整渐变?
Best Answer-推荐答案 strong>
我最近写了一个在 Swift 中绘制动态圆锥渐变的库:AEConicalGradient
为了获得更好的性能,我使用的方法是在圆的中心绘制不同角度和颜色的线条,而不是逐个像素地绘制内容(更少的迭代)。
还有助于打开 CALayer 的 drawsAsynchronously 属性。
在提供的示例中,您可以看到更改设备方向时渐变颜色的动态更新,但在较大的设备上仍然有些迟缓。
如果有人知道如何进一步提高性能,让我们在这里讨论。
关于ios - 在 iOS 上绘制动态角(锥形)渐变的最快方法?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/28754870/
|