Page MenuHome

Fix T98989: Performance regression when using multiple bump nodes
ClosedPublic

Authored by Miguel Pozo (pragma37) on Nov 8 2022, 9:12 PM.

Details

Summary

Ensure each graph material_function only evaluates the input links that are connected to it.

This requires more testing and the foreach_linked_input_recursive function might be better placed somewhere else.

GPU_NODE_TAG_FUNCTION is no longer needed, so it could probably be removed too.

Diff Detail

Repository
rB Blender
Branch
blender-v3.4-release
Build Status
Buildable 24618
Build 24618: arc lint + arc unit

Event Timeline

Miguel Pozo (pragma37) requested review of this revision.Nov 8 2022, 9:12 PM
Miguel Pozo (pragma37) created this revision.
Miguel Pozo (pragma37) edited the summary of this revision. (Show Details)Nov 8 2022, 9:13 PM

I've looked a bit more into it and I don't think it has any major issues.

GPU_NODE_TAG_FUNCTION can't be removed since untagged nodes get removed.

Updated to fix an issue where the same node was serialized more than once inside the same function when connected to more than one input socket.

Leave the tags as they were, just in case

This revision is now accepted and ready to land.Nov 12 2022, 8:21 PM