Files
test/source/blender/blenkernel
Bastien Montagne 4fe4a52cd7 Fix missing tagging of collections in some BKE_collections codepath.
In particular, while Object (un)linking was already tagged in relevant
BKE code, collection (un)linking was not in several cases.

This was (partially) done by user code, though almost never for the
whole hierarchy of parents.

Technically, the tag is done as part of
`collection_object_cache_free_parent_recursive`/`collection_object_cache_free`,
since currently clearing this cache is done everytime to collection
hierarchy or their content is modified.

It also removes `collection_tag_update_parent_recursive`, which was
already doing something similar, but was only called from code
adding/removing objects to collections, and was walking the same parent
hierarchy as `collection_object_cache_free_parent_recursive`.

This commit implements the decision made in #116601, to tag modified
data as close as possible from the code modifying it.

---------------------

This has an impact on deg tagging, which takes over twice as much cycles
with this commit compared to previous code  when opening a Pets production
file with several liboverrides (`deggraph_id_tag_update_single_flag` goes
from less than 0.03% to over 0.06%).

The overhead remains extremely low though, and is totally unmeasurable in
global execution timing. Timing of the liboverride processing on opening
the production file also did not show any measurable differences.

Pull Request: https://projects.blender.org/blender/blender/pulls/116986
2024-01-12 16:24:22 +01:00
..
2024-01-03 13:38:14 +01:00
2023-12-01 10:29:59 -08:00
2024-01-03 13:38:14 +01:00
2023-07-04 17:03:02 +02:00
2023-08-25 09:40:42 +10:00
2023-11-27 09:30:52 +11:00
2023-09-27 13:03:29 +10:00
2024-01-12 14:30:34 +01:00
2023-08-18 08:56:12 +10:00
2023-08-30 22:36:36 +02:00
2024-01-11 11:01:50 -05:00