Page MenuHome

Depsgraph: Optimize evaluation of dependencies of disabled modifiers
ClosedPublic

Authored by Sergey Sharybin (sergey) on Aug 4 2022, 6:24 PM.

Details

Summary

Solves long-standing issue when dependencies of disabled modifiers are
evaluated.

Simple test case: no drivers or animation. Manually enabling modifier
is expected to bring FPS up, enabling modifier will bring FPS (sine
evaluation can not be avoided)

F13336690

More complex test case: modifier visibility is driven by an animated
property. In am ideal world FPS during property being zero is fast
and when property is 1 the FPS is low.

F13336691.

Diff Detail

Repository
rB Blender
Branch
depsgraph_modifier_visibility (branched from master)
Build Status
Buildable 23274
Build 23274: arc lint + arc unit

Event Timeline

Sergey Sharybin (sergey) requested review of this revision.Aug 4 2022, 6:24 PM
Sergey Sharybin (sergey) created this revision.

Fix performance regression with object visiiblity.

Some previous performance fixes got undone by the previous version of the patch.

With this update applied id not measure performance difference in the production scenes (they did not use driver visibility to improve performance).

Cleanup: split big function into smaller ones.

Sergey Sharybin (sergey) retitled this revision from Depsgraph: Optimize evaluation of dependencies of disabled modifiers [WIP] to Depsgraph: Optimize evaluation of dependencies of disabled modifiers.Aug 5 2022, 3:46 PM

Got through personal TODO list for this revision and all points form it got addressed. Think the patch is ready for the review.

This revision is now accepted and ready to land.Aug 8 2022, 3:23 PM