Huge performance improvements to import Moana scene

Aras has previously improved the obj importer a lot. Now he gave the Moana Island Scene a try. Instead of waiting for 3.5 hours, the import now takes 82 seconds (before it crashes as Blender can’t handle it, at least on his computer :slight_smile: ).


Pretty impressive. I’d be curious to see comparisons to other packages to put it in context.

I’m creating 260 thousand objects, send help

Exclude all USD fancy stuff, this reminds of a well known problem, that Blender can’t create too many objects in general. If for example create so many cubes in simple terms is impossible, plus the slowness of Python makes things even worse.

From what I suspect, it has to do with ‘unique naming’ of objects, which is a major fundamental design flaw. As object names are used as ‘primary’ keys there is a need to validate their uniqueness and proper autonaming which causes extra loop checks and such. :neutral_face: On the other hand the most standard design right now is to use GUID captions to ensure the uniqueness of objects which are generated onthefly.

This would be very interesting to look at, I might peek at Blender source to validate these.

It is at least a step towards making it easier for the devs. to look at object mode optimizations in term of what actual production scenes need (as 10,000 Suzannes or 100,000 default cubes won’t cut it).

It will be a step towards identifying where Blender needs more optimization in general, as those scenes have features that can stress a lot of areas. To do such was impossible when Blender could not even load it in.

It’s not like they are not aware of poor performance in production scenes:
It’s just that it’s not a priority. Even mediocre production scenes from ~10 years ago are a performance issue in Blender, let alone the Moana scene. Being able to import the scene doesn’t mean performance will be acceptable enough to actually work with the scene.