Home › Forums › General Questions › how to manage the challenge of a large scene size v3d file
- This topic has 10 replies, 4 voices, and was last updated 3 months ago by visualizer.
-
AuthorPosts
-
2023-03-20 at 3:59 pm #61266visualizerCustomer
Hi
As I mentioned somewhere in this forum that, I am working on some big size file in v3d (industrial subject), I find some challenges.
The complete set of files is expected to go about 100+ mb in size and the main .bin file is expect to reach about 60-70 MBs (rest are images or .Pngs ).
In this case the scene takes too long to open when on server. How to manage this to achieve opening in 1-2 minutes?Long back I had suggested the “progressive loading” ( LOD ) or something similar to it could make V3d more industry fit application I believe.
2023-03-20 at 7:39 pm #61274kdvParticipantload with small textures, replace them all with large ones after the app has been loaded. convert png without the alpha channel to jpg.
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-03-21 at 7:37 pm #61321xeonCustomerHey Visualizer
Having large scenes is a problem I hope will one day be easier to manage. Until then the limiting factors are always the device or devices you have to make your experience work on.If you are stuck making this work on a web server you may run into browser memory limitations. Depending on the user, their settings etc. the average advanced desktop browser user tab will handle about 2 GB. Loading more than about 2 GB in a browser is risky at best and just probably wont work in most cases. However, if you throw in mobile and the general population, that limit is drastically reduced…closer to 50 MB. All of the above is not an issue if you are not releasing it online. But since you seem to be you are in a bit of a bind.
We are often faced with large loads in our projects. As KDV stated above, loading with light textures and replacing them after load is an option and a good one if the textures file sizes are significant. We heavily rely on atlas maps to reduce textures count so we have already done the heavily lifting of texture optimization. In cases where we have run into very large bin files that take way to long to load due to geo….we go back into the model and fix the geo. We find we may have to break the experience up a bit to allow us to load the initial portion and then background load the remaining sections.
A great example of this is Pollantor Park: https://ecenvcommpublic.env.dataplatform.tech.ec.europa.eu/pollinators-vr/index.html. No, its not my work but where I got the inspiration on how to address massive assets online.
Often we will play a video while we are loading in additional assets or require the user to do an action like go through a brief navigational tutorial or explore the main product while other stuff loads.
Downloading time is not typically the real issue anymore for 200MB file sizes. It should only take a few seconds for most desktops.
Here is a download time calculator:
https://www.gigacalculator.com/calculators/download-time-calculator.phpThe problem we have seen is that the browser just consumes a bunch of time processing during the download. KDV has also mentioned in another thread of just loading a blank scene in first. Then loading in the necessary GLTFs as needed. This will get the user into the app faster and away from the dreaded loading bar as quickly as possible. Once in you can download the next anticipated section or sections. This technique may or may not be useful based on your apps startup needs.
One day it would be great to have a nanite or nano tech similar function for webgl…and once our browsers are multithreaded I think this option will come to us. We are so very limited to what we can do with a single thread.
Xeon
Route 66 Digital
Interactive Solutions - https://www.r66d.com
Tutorials - https://www.xeons3dlab.com2023-03-23 at 3:48 pm #61380visualizerCustomerKDV & Xeon
Thank for the reply.
The example of Pollinator Park is really a great example! Is it done by V3d? or something else?The images tweaking will help me sort out 20-25% problem.
How do we achieve the loading of a blank or minimal scene at the beginning & then gradually multiple GLTs load in one by one. Is there any puzzle settings or sequences to be set for this?May be some initial intro is going on for few seconds and during the same time multiple GLTFs loading in the background in the scene.
Also, the second thing, is it possible to load low poly GLTF as first & then load the medium or high poly depending upon the requirement or need?
2023-03-23 at 5:21 pm #61386kdvParticipantHow do we achieve the loading of a blank or minimal scene at the beginning & then gradually multiple GLTs load in one by one. Is there any puzzle settings or sequences to be set for this?
So what’s the problem? Load your minimal scene and then use the
append scene
puzzle(s) to load the rest content.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-03-26 at 7:13 am #61416visualizerCustomerYes, KDV correct.
I figured out that puzzle & trying to utilize them one after another.
I think that’s going to help better.2024-09-16 at 8:28 am #77367c4ccParticipantsorry for the late reply, but do you guys also think that lots of materials and shaders can also contribute to large file sizes as well?
2024-09-16 at 6:34 pm #77384visualizerCustomerI think complex materials & textures do contribute to loading time.
2024-09-16 at 9:13 pm #77386xeonCustomerPollinator Park is really a great example! Agreed!!!! but not done in Verge3D.
There are actually great resources online how this application was built and what apps were used to create it. But the scene transitions and loading is very well done.The environment holds three scenes for lack of a better term….the scene you are in and the one before and the one after….there is not alot of branching going on. There is also a transition area where depending on your internet speed you are in this walkway between rooms…and this is where last minute loading is ocurring. No progress bar…just reduces your speed to get through the hallway.
They also implemented LOD. Something V3D has sort of implemented but not to the level some other game engines use that makes scene loading much faster. The LOD is based on Camera distance and priority. Very cool stuff. Not only does it use LOD for the models but LOD on textures. Gotta love that.
The load unload we currently have does allow us to do just what you would expect…the LOD thing….well…thats another issue. LOD does exist if you want to dive into the JS of it. But nothing in puzzles yet. And what we have in code is well… described here:
Xeon
Route 66 Digital
Interactive Solutions - https://www.r66d.com
Tutorials - https://www.xeons3dlab.com2024-09-17 at 6:45 am #77403kdvParticipantlots of materials and shaders can also contribute to large file sizes as well?
not as much as objects with their individial geometry. As for LODs: they will not affect the loading time at all. They are generated after loading and used for distant rendering only.
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.
2024-09-17 at 5:14 pm #77450visualizerCustomerGuys!
I am glad somebody here in forum talking about LoD. Long long ago I had requested the feature in V3d which would really make V3D production efficient tool. Still it is not there but I hope sooner or later they wil have to consider the LoD aspect.
Before few months I had to work on a stack with lots of internal industrial assemblies and client didnt want any of them to compromise. That time LoD could have been a boon but I did a trick I gave a time delay to appear the sub assemblies as user sees the basic scene loaded. It worked pretty well. However the trick is trick. Not a solution.
As V3D grows it has to comply itself by including the industry grade of features.
As meta also is opening many ways such as Meta’s building blocks & MRUK &/or similar.
I am perhaps having too many hopes from V3D LOL. -
AuthorPosts
- You must be logged in to reply to this topic.