Skip undesired re-compilation when adding/removing isolated nodes/cables

I’m working on a large composition.

When the composition is running, and has a node dropped in (but not yet connected) it does a recompile.

I’m wondering if we might be able to call that an unnecessary recompile to speed up the process just a little?

The same thing happens if I delete an un-connected node.

I’ve converted this discussion to a feature request and updated the title.

There are several closely related cases where the composition is unnecessarily recompiled (causing a live-editing reload, a.k.a. the Run button spinner). Adding a node is one case, when the node doesn’t store any state and doesn’t have any incoming cables that are downstream of a trigger port. Removing that same node, or adding/removing cables between such nodes, are the other cases. It would be simpler to handle all of those cases together than individually, so I’ve updated the title to reflect that.

Skipping unnecessary compilations would be a nice performance improvement, though would take some time to get right. Unfortunately it’s not as simple as just saying “if this node isn’t connected to anything, don’t recompile”. We need to do it in a way that works with undo/redo, that doesn’t introduce buggy inconsistencies between the composition that you’re editing and the composition that you’re running, and that behaves predictably for composition authors without weird special cases. I’ve set the complexity rating on the feature request accordingly.

If OK with you, @keithlang, I’ll open the feature request for voting.

1 Like