使用 dgInfo 命令获取有关 DG 的信息时,会看到以下信息消息。连接上的每个栓在将其打印的线的结尾处会有两条状态信息一起显示。
- CLEAN PROP
-
CLEAN PROP 是图表成功求值后的正常状态。
它指出节点的 datablock 中的栓值是正确的,并且将该值的任何后续更改(或该值上游的值)传播到依赖此值的所有栓(例如,下游连接或受影响的输出)。
- DIRTY BLOCK
-
DIRTY BLOCK 是上游值已更改但其值的求值请求尚未通过的栓的正常状态。
DIRTY 指示 datablock 中当前保存的栓值可能正确,也可能错误,具体取决于上游值对其产生何种影响。通过
getAttr 命令直接请求或通过请求其下游的值间接请求都会触发对所有上游栓的 DG 求值。
BLOCK 是在许多值发生更改时防止脏标志过度传播的一种优化,例如,帧在已设置动画的序列中发生更改。这意味着,对该栓上游的值进行任何更改都不会向下游/受影响的栓发送任何其他脏消息。
- DIRTY PROP
-
DIRTY PROP 较不常见,但仍是栓在其上游值已更改而其值的求值请求尚未通过时的有效状态。
与 DIRTY BLOCK 状态一样,请求其值时会触发求值。
不同的是,当有来自上游栓的其他更改时,该栓会再次将脏消息传播到所有下游/受影响的栓。仅当 DG 不确定上次将该栓标记为脏时是否通知所有下游栓其脏状态时,才会显示此状态(例如,节点拦截了脏传播或图表连接自上次脏消息以来发生了更改的情况下)。
- CLEAN BLOCK
-
CLEAN BLOCK 绝不会显示在有效 DG 中。这表示当栓值为干净(即有效)时,该值发生更改后不会传播脏状态。因此,将不会通知下游节点图表发生更改,且不会对这些节点进行相应求值。从该无效状态中进行恢复需要输入命令
dgdirty -a,以便标记所有脏内容并重新启动正确求值。(该命令相当于 DG 世界中的
CTL + Alt + DEL。)