Page MenuHome

Depsgraph: optimize out evaluation of hidden objects
ClosedPublic

Authored by Sergey Sharybin (sergey) on Aug 30 2022, 5:31 PM.

Details

Summary

This change makes it so that objects which are temporary hidden from
the viewport (the icon toggle in outliner) do not affect on the
performance of the viewport.

The attached file demonstrates the issue. Before this change hiding
the object does not change FPS, after this change FPS goes high when
the object is hidden.

F13435936

Changing the object temporary visibility is already expected to tag
scene for bases updates, which flushes down the stream to the object
visibility update. So the only remaining topic was to ensure the
graph does a special round of visibility update on such changes.

Diff Detail

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

Event Timeline

Sergey Sharybin (sergey) requested review of this revision.Aug 30 2022, 5:31 PM
Sergey Sharybin (sergey) created this revision.
Brecht Van Lommel (brecht) requested changes to this revision.Aug 30 2022, 5:52 PM
Brecht Van Lommel (brecht) added inline comments.
source/blender/depsgraph/intern/eval/deg_eval_visibility.cc
41

BASE_HIDDEN should have no effect on rendering?

This revision now requires changes to proceed.Aug 30 2022, 5:52 PM
This revision is now accepted and ready to land.Aug 31 2022, 12:02 PM