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).