-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No-jitter models loading #63
Comments
Detailed test results. Tests were made with dev build in standalone mode, mean of 3 runs. Looking for the sum of
Both model were purposefully chosen quite large to better show the performance bottlenecks. We see that it's possible to largely speed up texture loading but large geometries will stay a problem unless we find some additional optimizations. The geometry limit is not that much of a problem because keeping the vertex count below the 1M (arbitrary) limit is easy enough in most cases. |
Running the previous tweaks on large multi-model scene, we go from there : To there Which is better but shows how an unoptimized model is unlikely to load seamlessly. Ensuring a serialization on Compressing the scene's larger models into 2k maps (from 30MB total size to 15MB) still yields some delayed frames which tends to indicate some other source of contention to uncover. Some of this contention seems to come from the environment map being loaded more than once. |
See https://github.com/Holusion/dpo-voyager/tree/seamless_load_proto for ongoing efforts |
Reducing renderer jitter on model loading would enable loading smaller models seamlessly in a (yet to be developped) dynamic LOD system.
Using
WebGLRenderer.compileAsync()
from THREE r161 (#27098 seems to reduce the initial blocking time by half for a given model, without much effect on other metrics.Additionally,
WebGLRenderer.initTexture()
does drastically reduce upload freeze for models with large textures and low (ish) vertex count, especially if it is able to load textures through multiple frames.The text was updated successfully, but these errors were encountered: