I am currently trying to reduce the loading time of a scene with about 30 materials. Some have textures, some do not. Unfortunately I noticed that the GLB file loads much faster with Threejs (almost instantly) compared to Babylonjs (~5-6 seconds).
The easiest way to reproduce the problem is to open the GLB file in https://gltf-viewer.donmccurdy.com/ versus https://sandbox.babylonjs.com/
I was able to isolate the problem and think it must have something to do with the textures. When I delete the textures the model loads very fast, as soon as I add textures to the materials the problem occurs.
I have reduced the size of the textures and they are all saved as jpg.
Now my question: how can I achieve approximately the same fast loading times as with Threejs?
Tested with MAC Apple M1 Max / Firefox 114.0b2 (64-bit)
This sounds like a bug to me and 5-6 s is huge
Could you share a model that repros your issue ?
I don’t reproduce on Windows. Whether it is the sandbox or the Three.js viewer, on Chrome it loads between 1s-2s and on Firefox between 2s-3s.
@sebavan The file url is inside the PG.
Thank you for your support!
test.glb.zip (1.2 MB)
I made a small screen capture to visualize the problem better:
I do not repro it either I hope we ll be able to soon put our fingers on this one
@Johannes can you share a perf capture from when you load ? we should see the culprit there
I am calmed that the problem only occurs with my setup. If it only loads slowly on Mac with Firefox, it doesn’t seem so bad.
Unfortunately I don’t know if this helps to identify the problem?
This refresh driver tick at the bottom could be the reason ?
@Evgeni_Popov this isn’t related with the other slow initialization issues which were a chromium problem right?
In fact, I think it may be the effect of environmental mapping.
It seems that gltf-viewer does not load an environment map by default.
Maybe he defaults to the spherical harmonic factor for ambient lighting?
I’m not sure what other initialization issue you are referring to(?)
It’s hard to say, but I’d say that’s not the problem because I couldn’t reproduce the problem reported in the current thread, whereas I did for the SSR one.