Here i am.
I stripped my whole project as much as i could so that i disclose the least of the project ( please don’t spread the files ) but so that my problem still appears when a file is opened in 2.9
Do not try to open them in 2.79 as files all come from 2.9.
As a quick sumup of the project, i’d say: it’s a medieval city intended to be visited in a 1st person manner ( meaning lots of details ) wich is cut in walls/towers/citygates.
each wall/tower/citygate is a separate .blend ( simplified on purpose as in my project each blend have objects surrounding the one the file is about. Thos surrounding objects come from other .blend that are linked in the file ).
For baking purposes ( emission for nighlight maps ) i need to include in one unique file, all the objects coming from different .blend
This is where all my work is fucked up: Though opening the file when displayed in solid or wireframe takes 25-30 sec, as soon as i choose the mat preview in the 3D view, blender freezes and eats all my memory and part of the CPU power.
The whole scene takes more than 2h and more than 32GB to load ( i didn’t even wait till load ends and killed blender before it finished )
A stripped part of my project showing the problem ( say in a sandbox ) can be downloaded and tried here:
Just browse to ./carcassonne libs problem/meshes
and open the carcassonne_lice1.blend
The file opens quickly as its display mode is solid.
Now just switch to mat preview mode and watch at your system memory availability.
I guess you can go to the end and finally display the thing but imagine the same thing with 30 or 40 times mode items
This is just unusable.
I found a workaround to this problem in 2.79 by making objects that i didn’t want to appear with mat preview show in a solid way. This prevented blender from loading all those useless materials and their textures and it worked fine.
In 2.9 it seems materials and their textures are loaded even if the object is shown in wireframe and i guess that this is the base of my problem:
I my blend i got 100 objects linked. Each object have its own material and each material have its own bunch of 8Kx8K textures x2 or x3…
I didn’t make the calculus but i guess this would represent several TERABYTES of system RAM !!!
The thing is that all those objects use the same material and textures and in my mind they all shared the same mat and the same textures ( just like it’s done in unity3D ).
I was wrong !!! ( meaning i misuse blender since now more than 20 years )
I rumble blender and devs and the problem is finally between my keyboard and my screen ( wich is often the case ).
So, despite EEVEE has become the 3D view renderer since 2.8, it’s not the source of my problem.
My problem comes from the fact that i got hundreds identical materials that EEVEE has to load and of course it takes lots of time and mem ( as each mat represents several megabytes just for its textures ).
So my question ( and i guess you can easily answer, as i appear to be the only one to have this problem ) is:
What is the right way of cutting a big project in files while using the same and unique material, so that when i reunite the parts i don’t get hundreds of materials ?
Thanks a bunch and happy blending