Maniphest T96330

"Make single user -> object & data" is extremely(!) slow in Blender 3.1, compared to previous versions
Closed, ResolvedBUG

Assigned To
Bastien Montagne (mont29)
Authored By
Christoph Werner (Taros)
Mar 11 2022, 11:57 AM
Tags
  • BF Blender
  • Core
Subscribers
Bastien Montagne (mont29)
Christoph Werner (Taros)
Germano Cavalcante (mano-wii)
Tokens
"Burninate" token, awarded by Taros.

Description

System Information
platform: 'Windows-10-10.0.19044-SP0'
renderer: 'NVIDIA GeForce RTX 3090/PCIe/SSE2'
version: '4.5.0 NVIDIA 511.79'

Broken in version: 3.1.0, branch: master, commit date: 2022-03-08 18:16, hash: c77597cd0e15, type: release
build date: 2022-03-09, 00:44:13

Worked: 3.0.1

Short description of error
The following issue happens in scenes with dozen thousands of objects.
When using menu Object -> Relations -> Make single user -> object & data Blender 3.1 needs extremely long time to create single user data of instanced objects.
In Blender 3.0.1 the same task just needs a few seconds.

Exact steps for others to reproduce the error
Please use the attached test .blend file.

  1. Select all objects.
  2. Go into the menu and activate Object -> Relations -> Make single user -> object & data

Blender needs a very long time to create single users in version 3.1.
The same task needs less than a 3rd of the time in Blender 3.0.1.

I'm working regularly with CAD data scenes that very often include more than 20-30k objects.
Why is this so slow now?

Regards
Chris

Revisions and Commits

rB Blender

Related Objects

Mentioned Here
rB43bc494892c3: IDManagement: Remove deprecated `BKE_libblock_relink_to_newid` usages.
rBc77597cd0e15: Fix T95843: Invalid mesh runtime data after sculpt undo

Event Timeline

Christoph Werner (Taros) renamed this task from Using "Make single user -> object & data" is extremely(!) slow in Blender 3.1, compared to previous versions to "Make single user -> object & data" is extremely(!) slow in Blender 3.1, compared to previous versions.Mar 11 2022, 11:57 AM
Christoph Werner (Taros) created this task.
Christoph Werner (Taros) updated the task description.Mar 11 2022, 12:01 PM
Christoph Werner (Taros) updated the task description.Mar 11 2022, 12:05 PM
Germano Cavalcante (mano-wii) changed the task status from Needs Triage to Needs Information from Developers.Mar 11 2022, 8:50 PM
Germano Cavalcante (mano-wii) added a project: Core.
Germano Cavalcante (mano-wii) added subscribers: Bastien Montagne (mont29), Germano Cavalcante (mano-wii).

I can confirm.
The operation goes from about 15 seconds to 45 seconds using the attached file.
Regression was introduced in rB43bc494892c3: IDManagement: Remove deprecated `BKE_libblock_relink_to_newid` usages..
@Bastien Montagne (mont29), is the performance penalty expected? Can this operation be optimized to something close to what it was before?

Christoph Werner (Taros) awarded a token.Mar 14 2022, 10:00 AM
Christoph Werner (Taros) added a comment.EditedMar 16 2022, 4:46 PM

Sorry for the unproductive comment guys, but I move back to Blender 3.0.1 because of the slowdown.
This issue is really annoying for my daylie work. I hope it will be fixed soon.

Bastien Montagne (mont29) added a comment.Mar 17 2022, 12:06 PM

This code needs to be moved to new 'multiple' relink code committed yesterday, change almost ready here, will commit later today.

Note that the change will only be available in master/daily builds/future 3.2 release though.

Christoph Werner (Taros) added a comment.EditedMar 17 2022, 1:28 PM
In T96330#1324629, @Bastien Montagne (mont29) wrote:

This code needs to be moved to new 'multiple' relink code committed yesterday, change almost ready here, will commit later today.

Note that the change will only be available in master/daily builds/future 3.2 release though.

Thank you. What a shame. Because we don't update "very often" to new Blender versions while running productions, I hoped to see this patch already in 3.1.1.
Will the new commited solution be faster then the previous ones?

Germano Cavalcante (mano-wii) changed the task status from Needs Information from Developers to Confirmed.Mar 17 2022, 1:39 PM
Germano Cavalcante (mano-wii) changed the subtype of this task from "Report" to "Bug".
Bastien Montagne (mont29) added a comment.Mar 17 2022, 3:11 PM

Changing version during production is never really recommended... and backporting this change (and the ones it depends on) to 3.1 is a no-go, would be way too risky for a fix-only release.

Bastien Montagne (mont29) closed this task as Resolved by committing rB17906794f555: Fix T96330: Three times slower 'relink to new id' process in 3.1..Mar 17 2022, 5:25 PM
Bastien Montagne (mont29) claimed this task.
Bastien Montagne (mont29) added a commit: rB17906794f555: Fix T96330: Three times slower 'relink to new id' process in 3.1..
Christoph Werner (Taros) added a comment.Mar 18 2022, 10:11 AM
In T96330#1324754, @Bastien Montagne (mont29) wrote:

Changing version during production is never really recommended... and backporting this change (and the ones it depends on) to 3.1 is a no-go, would be way too risky for a fix-only release.

Indeed. So this patch seem to be "something bigger". No problem. I understand this and wait for 3.2.

Best wishes
Chris