Happens, for example, when the object has animation, and disabled for render, and animation render is performed. The regression has been uncovered byf12f7800c2which made it so the dependency graph relies on runtime visibility tracking and updates (without updating relations). The optimization from a while ago in theff60dd8b18got in a way of the visibilit updates because it removed relation between two no-op nodes which belong to different IDs, which make the visibility tracking impossible. This change makes it so only relations which belong to the same component are removed. This matches the expectations of the visibility tracking (which, actually, also needed to happen at the moment of the initial optimization commit). Technically, this change could introduce some performance regression, but with the current design design of the graph it is not really avoidable. The idea to gain the best performance is to separate relations which actually define the execution flow, and which are only needed to define things like visibility dependencies.