【问题标题】:Fastest way to draw dynamic Angular (Conical) Gradient on iOS?在 iOS 上绘制动态角(锥形)渐变的最快方法?
【发布时间】:2015-02-26 23:32:40
【问题描述】:

使用 Core Graphics,传统上的方法是绘制到上下文,然后绘制到屏幕。但是对于动态(用户更改颜色和位置值)渐变,在任何合理的尺寸下,这都非常缓慢,即使在 iPad Air 2 上也是如此。

有什么方法可以考虑用 Core Animation 制作锥形(nee Angular)渐变并避免上下文性能问题,以便快速动态调整渐变?

【问题讨论】:

    标签: ios core-graphics core-animation gradient


    【解决方案1】:

    我最近写了一个在 Swift 中绘制动态圆锥渐变的库:AEConicalGradient

    为了获得更好的性能,我使用的方法是在圆的中心绘制不同角度和颜色的线条,而不是逐个像素地绘制内容(更少的迭代)。

    还有助于打开CALayerdrawsAsynchronously 属性。

    在提供的示例中,您可以看到更改设备方向时渐变颜色的动态更新,但在更大的设备上仍然有些迟缓。

    如果有人知道如何进一步提高性能,让我们在这里讨论。

    【讨论】:

    • 干得好!您对纯色条带的原因了解很多吗?
    • 谢谢!恐怕我不明白您对“纯色条带”有何看法?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-19
    • 1970-01-01
    相关资源
    最近更新 更多