PossiblyEvaluatedValue<T>
PossiblyEvaluatedValue<
T
> = {kind
:"constant"
;value
:T
; } |SourceExpression
|CompositeExpression
定义于: src/style/properties.ts:377
"可能已评估的值"是绘制和布局属性值评估链中的一个中间阶段。这个阶段的目的是为了优化数据驱动属性的不必要重新计算。使用数据驱动属性值的代码必须假设该值依赖于要素数据,并请求为每个要素评估它。但是,当该属性值实际上是常量或相机函数时,计算实际上不依赖于要素,我们可以受益于返回提前在中间步骤中进行一次评估的先前结果,该步骤的输入仅是值和"全局"参数,如当前缩放级别。
PossiblyEvaluatedValue
表示这个步骤的三种可能结果:如果输入值是常量或相机表达式,那么"可能已评估"的结果是一个常量值。否则,输入值是源表达式或复合表达式,我们必须推迟最终评估,直到提供要素。我们区分源和复合情况,因为它们在生成GL属性、缓冲区和制服时处理方式不同。
请注意,PossiblyEvaluatedValue
(以及下面的PossiblyEvaluatedPropertyValue
)不用于不允许数据驱动值的属性。对于这类属性,我们知道"可能已评估"的结果始终是常量标量值。
类型参数
类型参数 |
---|
T |