【发布时间】:2014-03-04 20:18:01
【问题描述】:
CAShapeLayer的CGPath属性在documentation中有如下语句:
指定显式路径通常会提高渲染性能。
什么是“显式”路径?以及设置显式路径如何提高 CAShapeLayer 的渲染性能?
如何设置显式路径比没有路径更高效?
【问题讨论】:
标签: ios performance core-animation cashapelayer
CAShapeLayer的CGPath属性在documentation中有如下语句:
指定显式路径通常会提高渲染性能。
什么是“显式”路径?以及设置显式路径如何提高 CAShapeLayer 的渲染性能?
如何设置显式路径比没有路径更高效?
【问题讨论】:
标签: ios performance core-animation cashapelayer
这看起来可能是文档中的复制粘贴错误——CALayer 的 shadowPath 属性包含类似的文本块:
此属性的默认值为 nil,这会导致图层使用标准阴影形状。如果您为此属性指定一个值,则图层使用指定的路径而不是图层的合成 Alpha 通道创建其阴影。您提供的路径定义了阴影的轮廓。它使用非零缠绕规则和当前阴影颜色、不透明度和模糊半径填充。
…
指定显式路径通常会提高渲染性能。
对于shadowPath,实际上有一个区别:不指定属性值会导致根据图层的合成 alpha 计算阴影。当 CAShapeLayer 没有设置 path 时,它不会执行任何此类操作,因此您引用的文档具有误导性。
【讨论】: