Driver is updating with delay
Closed, InvalidPublic

Description

System Information
Win7 64bit

Blender Version
Broken: 2.79

Short description of error
"Transform channel" type driver updates with dealy of 1 frame. As you can see value for Transform channel is still 0 when real X location is not. "Single property" is working fine though.

Exact steps for others to reproduce the error
Open file, press right arrow button on keyboard to update driver

Details

Type
Bug
Joshua Leung (aligorith) closed this task as "Invalid".Mon, Sep 25, 2:46 AM
Joshua Leung (aligorith) claimed this task.

Not a bug.

This is a known limitation of the existing evaluation pipeline, and is the expected behaviour given how the system works. See diagram:

  • The old depsgraph only works on a per-datablock level. To be precise, it can only schedule updates for "all Object-attached stuff" and "all ObData attached stuff".
  • The "Transform Channel" dvar is set to use the "World Space" outputs from the Cube object. This means that the driver depends on the results of same Object-datablock that is currently being calculated when evaluating the driver. In other words, we have a cyclic dependency.
  • The "Single Property" dvar doesn't have this problem, as Blender knows that it only needs to read off the property values, instead of needing any final output of the datablock evaluation step.