【问题标题】:CAShapeLayer - Performance with an explicit pathCAShapeLayer - 具有显式路径的性能
【发布时间】:2014-03-04 20:18:01
【问题描述】:

CAShapeLayer的CGPath属性在documentation中有如下语句:

指定显式路径通常会提高渲染性能。

什么是“显式”路径?以及设置显式路径如何提高 CAShapeLayer 的渲染性能?

如何设置显式路径比没有路径更高效?

【问题讨论】:

    标签: ios performance core-animation cashapelayer


    【解决方案1】:

    这看起来可能是文档中的复制粘贴错误——CALayer 的 shadowPath 属性包含类似的文本块:

    此属性的默认值为 nil,这会导致图层使用标准阴影形状。如果您为此属性指定一个值,则图层使用指定的路径而不是图层的合成 Alpha 通道创建其阴影。您提供的路径定义了阴影的轮廓。它使用非零缠绕规则和当前阴影颜色、不透明度和模糊半径填充。

    …

    指定显式路径通常会提高渲染性能。

    对于shadowPath,实际上有一个区别:不指定属性值会导致根据图层的合成 alpha 计算阴影。当 CAShapeLayer 没有设置 path 时,它不会执行任何此类操作,因此您引用的文档具有误导性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多