cuddlyogre / ExportLDraw

LDraw Import and Exporter for Blender 2.82+
GNU General Public License v2.0
48 stars 10 forks source link

How much memory? #21

Open mjhorvath opened 3 years ago

mjhorvath commented 3 years ago

Could you please guesstimate whether the importer can process this model, as well as how much RAM it might consume inside Blender? Does it crash?

https://github.com/mjhorvath/Datsville/blob/main/models_processed/datsville_rev006.124_inlined_y_boxed_n.ldr

Thank you!

cuddlyogre commented 3 years ago

Wow that's a big file. I'll run a test import when I get a chance and let you know what i get.

cuddlyogre commented 3 years ago

I tried to do import it and it never completed. Task manager showed almost 9gb at one point, but went down to 5gb soon after.

Ldview crashed when I tried to open it as well.

I'm unfamiliar with datsville. How is it normally interacted with being such a massive file?

cuddlyogre commented 2 years ago

A little update on datsville.

Using the MPD version will require an interface change and a staged import setup since there are so many models, which means a lot of geometry, which means a lot of time. Not even the viewers written in c++ load it quickly, or at all. So python inside of Blender doesn't stand a chance without a more intentional approach. Fortunately, it's not terribly difficult to do that from a programming standpoint. It's more of an interface challenge than anything else.

A limited attempt to import did point out a flaw in my MPD processing where I never considered nested MPDs, which I fixed.

cuddlyogre commented 1 year ago

I have an answer for you finally.

In Blender, it took 28 minutes 44 seconds to import and consumed ~70GB of RAM. The viewport played at 1 frame every 2 seconds and Blender crashed after about 5 seconds.

I have a bare bones Monogame application with minimal optimization that loads in 78 seconds and runs at 30FPS and uses ~3GB of RAM.

I think it's safe to say that Blender might not be a good candidate for this. I am looking into implementing the importer in a proper game engine so viewing and editing projects likes Datsville are possible, but I'm having a hard time settling on one.