That’s exactly how it feels like after the latest round of performance improvements.
We spent last few weeks analyzing our WebGL code, to find the performance bottlenecks. Some of you may know that 3DTin started as simple voxel based 3D editor. The advanced shapes were added later. While adding new features we coded them using the same data structures that we had used for voxel based editor, largely because we didn’t want to break the backward compatibility. This has enabled our users to load their very old models in the new editor without any trouble. But this took a toll on the performance. With the recent features of grouping geometries the problem was aggravated further. Users created many magnificent and huge models with deeply nested grouping (and that indeed is the right and recommended way to organize your model), which uncovered some serious performance bugs in our code.
In past few weeks we have redesigned the core of 3DTin to make it light weight and nimble. You will notice this change when you are opening a particularly large model.
To give you an idea of how much we have improved, here are some numbers taken while loading two sketches that are representative of large models. The following screenshots of Chrome developer tools show drastic reduction in memory footprint and phenomenal drop in loading time of the sketch.
As you can notice the memory usage has more than halved (from 112MB to 51MB), while the postprocessing time during model loading has decreased from 28 seconds to 2.3 seconds.
Here is another set of comparisons for iPhone4S model by nixrobbie
The memory footprint has again halved from 46MB to 22MB, while the loading time decreased from 24 seconds to 1.6 seconds.
Besides these quantifiable results, there are other areas where performance has improved. You will notice that when applying transforms (i.e. rotating/shearing geometries) or moving big groups of geometries around.
Also while redesigning the architecture we haven’t broken backward compatibility. All the sketches, created even 2 years ago will still load without any problem. We hope this will serve our power users well, who like to create detailed models with lot of geometry. Let me know how do you like the new changes.
Pingback: 3DTin gets a speed boost « Ponoko – Blog