Home › Forums › General Questions › Does ‘Clone Object’ save memory or loading time?
- This topic has 3 replies, 3 voices, and was last updated 1 year, 8 months ago by kdv.
-
AuthorPosts
-
2023-04-19 at 7:42 pm #62255MicdsnCustomer
Please forgive if this is a dumb question but does using the ‘clone object’ like in the demo, does it save memory or loading time in your scene?
2023-04-19 at 7:53 pm #62256kdvParticipantYes. In the “Cloone object” demo you can see 82 cubes and all of them share the same geometry and the same material. Plus one environment cube, 82+1=83 render calls and only 2 geometry buffers.
Puzzles and JS coding. Fast and expensive.
If you don’t see the meaning in something it primarily means that you just don’t see it but not the absence of the meaning at all.
2023-04-19 at 11:23 pm #62258xeonCustomerWhat KDV has listed is correct, however, it doesn’t fully answer the question. Your scene stats combined with your required devices, operating system and browser will impact performance based on what is happening. Unfortunately, you will have to test to see if cloning is the best option for your project. As a general rule, we start our projects cloning as much as possible and then once we move into the optimization phase of the project we revisit cloning vs render call count. In some cases, lower render call values will outperform reduced geometry buffers values, but it will highly depend on your scene requirements.
Another thing to note is the key factor for cloning is keeping the geometery buffer small and thats a good thing. However you still have triangle count limitations. Although the objects are cloned their triangle count is not affected. So if you clone a cube, the orginal cube has 12 triangles and the clone will have 12 as well, thus increasing the total triangle count in Verge to 24. There is no triangle count savings due to cloning. The objects still have to be rendered.
Using Cloned objects will reduce the overall size of the gltf and bin, making it faster to load. However, cloning 82 cubes that have only 12 triangles is a very light load, so light in fact it would have very little impact if you didn’t even clone them the results could be negligible in your scene poly count or download. There is also an upper end of the number of render calls a particular device can perform. On the other hand, if you are cloning objects with poly counts in 100 of thousands of triangles you are going to see a significant download size reduction using clones. However, its going to put a larger load on the device. Depending on the hardware you are targeting this may or may not be the best use of resources.
However always start with cloning and then when its time to optimize, be flexibile enough to try other optimization methods and find out which is best for your project.
Xeon
Route 66 Digital
Interactive Solutions - https://www.r66d.com
Tutorials - https://www.xeons3dlab.com2023-04-20 at 8:08 am #62259kdvParticipantIs this economy significant and is it worth cloning in Verge3D that’s another question. Geometry buffers are the least problem in memory consumption. And it’s much easier to clone objects in Blender (Alt+D) with the same result…
Puzzles and JS coding. Fast and expensive.
If you don’t see the meaning in something it primarily means that you just don’t see it but not the absence of the meaning at all.
-
AuthorPosts
- You must be logged in to reply to this topic.