We have changed the logic of initializing POI data in 3D Wayfinder. This gives up to 80% faster project initialization for medium and large projects. In very large projects, the increase is even larger – more than 90%.
After data is loaded from the API 3D Wayfinder system had to setup the 3D scene. That also included generating polygons and textures for each POI. These included a POI icon or the name of the POI on a billboard (facing the user all the time). POIs without icons needed to have the name displayed but the only way to display a text in 3D space is to generate or load a image. So we used a canvas element to draw these names. But this is a costly procedure.
Now we create only these images that are flagged as “Always visible” at the start. So the startup time is a lot faster. Check the following comparison table.
Project | Before | After | Setup Gain | Total Gain |
Medium | 765 ms | 174 ms | 77,25% | 5.63% |
Large | 6563 ms | 1039 ms | 84,17% | 11.52% |
Very large | 26710 ms | 403 ms* | 6627% | 54.86% |
* Project doesn’t have any “Always visible” POIs
Initialization time before and after change compared with medium and Large projects:
Initializing is only a part of the whole loading. Loading the data and 3D models from server is another component of the whole loading process, so the afterall loading process is better about 5-55% (with connection 20Mb/s).