I encountered an issue during the secondary development of the Speckle Server. I uploaded a model data containing 600,000 Speckle objects. When opening it for the second time using the IndexedDB cache, the model loading phase takes about 93 seconds, the renderTree construction phase takes 10 seconds, and the final batcher rendering phase takes 23 seconds. The total loading time is 130 seconds, which is too long, resulting in an excessively long white screen waiting time.
Is there a better solution to address the slow cache reading issue? Thank you for your replies. Thanks, Speckle Community.
I’m having an issue. I uploaded a 1.4GB Rhino model using Speckle. When I opened the model for the second time, it loaded using the browser’s IndexedDB cache. From what I observed in the console, the model took 93 seconds to load, which resulted in a prolonged white screen. Is there any effective way to resolve this slow loading issue?
Indeed, as you mentioned, Speckle is already excellent in terms of loading performance. I’m quite interested in the loading aspect and would like to explore some research-oriented performance improvements—such as reducing the loading time from around 90 seconds to roughly 10 seconds, implementing progressive loading solutions, or trying to achieve LOD (Level of Detail) multi-resolution models during the model upload process. These optimizations would greatly facilitate quick model reviews.
When using the model viewer, we typically deal with scenarios involving a large number of models. If a single model is as large as 10GB or so, the time spent on loading becomes excessively long.
I’ve attempted secondary development on speckle/viewer and speckle/objectLoader, adding a new test-oriented feature - a progressive model loading scheme. However, based on my actual demonstration results, the effect isn’t better than the current one; it’s even worse. The loading time has increased by approximately 40%. Upon investigation, I found that the issue lies in IndexedDB loading, which takes nearly 100% more time compared to full-volume reading. The advantage, though, is that part of the model can be viewed in about 10 seconds.
Hmmmm interesting! We know indexdb sucks generally - i am afraid the people who can answer you more right now are on holidays (@adamhathcock) - but @alex might have a look if you share the branch with him, or share what we were currently looking at in terms of performance improvements.
Multi resolution models (LODs) would need a whole new asset producing pipeline - and revit and other aec authoring apps totally suck at this; so we’d need to do some server-side post processing, which again is expensive. Generally, we always reach the conclusion that life sucks.
I am though very curious: what are you using Speckle for? We usually are scarce on context, and really enjoy hearing other people’s usecases!
I work at a design institute in China’s railway industry and am currently trying to develop a BIM review platform. We are conducting some feasibility studies using Speckle, which is a powerful platform.
We’re always excited to see what the community is working on and for any potential contributions. If you have something you can showcase, or a topic you want to further discuss, do let us know! We’ll gladly participate our help out where possible