Tutorial on the idiosyncrasies of the Instancing laboratory. Part 5A of 6
For Part 1 of 6 of my tutorial, please go to [ http://www.daz3d.com/forums/discussion/3637/ ]
For Part 2 of 6 of my tutorial, please go to [ http://www.daz3d.com/forums/discussion/3924/ ]
For Part 3 of 6 of my tutorial, please go to [ http://www.daz3d.com/forums/discussion/5270/ ]
For Part 4 of 6 of my tutorial, please go to [ http://www.daz3d.com/forums/discussion/6506/ ]
For Rashad Carters Comprehensive Tutorial, please go to [ http://www.daz3d.com/forums/discussion/3381/ ]
Well this Part of my tutorial is going to be rather long so i will divide it into several sections [A, B, C, D....] because i can only use 5 images per section.
The following is an interpolation within the tutorial as a whole before we get on with things. It was prompted by Horo's latest response concerning instancing, memory size and compression [ http://www.daz3d.com/forums/discussion/6506/ ].
I created 5 files which are all the same except that different types of spheres are used. A 2D array of 81 spheres [9x9] was used and every file had the same material applied to all the spheres. That is important because the materials have a great influence on the file size, loading and rendering speed. I will go into that i bit more later.
The files are as follows:
(1) 81 Bryce Native Spheres.
(2) 81 MetaBalls of the same size which just begin to merge together.
(3) 81 MetaBalls converted into a single mesh object inside of Bryce. It took 3 hours and 25 minutes to convert the hull !!!
(4) 81 Mesh Spheres created form the Native Bryce Spheres at the Highest Wireframe Mesh Resolution  and of the same size.
(5) 1 Mesh Sphere created form the Native Bryce Sphere at the Highest Wireframe Mesh Resolution  and in addition 80 Instances of this object added.
Picture_811 shows the file names and the size of the files. I also observed saving and loading speed. I did not get any crashes. I used the Multi-Replicate tool as appropriate. For file (5) above i ticked the "instance" button. I was able to not only create instances from the master but also instances from the other instances. That was necessary because the master was in the middle of the array and i did not want to duplicate it.
Conclusion: The advantages of the Bryce primitives and MetaBalls are enormous. They not only result in a small file size but also very fast loading, saving and rendering. The Mesh Objects were the worst - very slow to save and load and producing huge file sizes [2,633,472 polygons]. None of this was surprising as i have been researching this for many months but i have not made such highly controlled experiments before.
Picture_812 shows the Array of Spheres. Picture_813 shows the MetaBall Array. Picture_814 shows the render times.
Observations: It appears that when Bryce Primitives and/or MetaBalls are used the objects are NOT saved but only each Matrix is saved as well the Materials. The Matrix for each Instance takes up very little memory, compared to a very smooth Polygonal Sphere which requires an enourmous amount of memory. Compression helps to make the file even smaller. Since i used only one material, and a very simple one at that, the files are very small and they load, save and render very fast. The Bryce Native Spheres render the fastest. Metaballs can be rather slow but that is understandable because Bryce must solve a complex surface. When these files are loaded a pointer is re-created to the Mathematical Master Description for each Instance. In addition, the outline is perfectly smooth when rendered because the actual form is solved at this time [For CSG primitives, BSOps and MetaBalls]. It is therefore a perfect system and partly why Bryce has been the most supperior program in many respects for over a decade. It is also clear why an additional instancing system for Mesh Objects was introduced in Bryce 7. These files also save and load quite quickly and the file size is much less than files constituted of copies. The instancing systems [Old and New] both work very well and are quite reliable. It is only a metter of knowing how and when to use each option available.
In regard to Bryce primitives and MetaBalls, it is also interesting to observe file size as a function of the materials used. Because the material must be saved for each Native Bryce Instance, [in case we have a different material on each object] and some complex multi-channel/multi-component materials have a huge database, the materials have a very great influence not only on render speed but also on saving and loading speed. This means that you can create MegaScenes with very simple materials on your objects and then save the scenes. Later you can load the scenes and then apply your special materials and then render. The resulting file cannot be saved anymore [this is when i get a crash] but it does not matter because you have accomplished your goal and you still have the master file.
Picture_815 shows the file sizes with various multiples of different materials applied. We notice that with a single material on all objects, the result is a large file size. As the number of different materials increases, the file size goes down [very strange]. Then as the number of different materials is increased even more, the file size goes up again [as we would expect]. Also complex materials result in large file sizes compared to very simple materials [as we would expect].
Note the difference between simple materials [no DTE channels] and those by David Brinnen [3 x DTE channels]:
81_Spheres_Tex_David_01_3CH and 81_Spheres_Tex_Simple.
729_Spheres_Tex_David_01_3CH and 729_Spheres_Tex_Simple.
The number of Texture components in the DTE [one, two or three] also would have a significant influence.
Well we can now move on to Part 5B