Strange, loads differently when tab active

Hi, this is strange but I’m sure there is a logical explanation. The best thing to do is to watch this short video (27 seconds).

When the tab is active (you are watching playcanvas load) everything loads correctly.
However, when the tab is not active 1 texture gets loaded onto all 3 meshes.

This happens every time and the only difference is if the tab is active (being viewed).

Some more info. When playcanvas has loaded I load 3 external textures onto the models 3 mesh instances. I have a loop that runs, each time a mesh.material.update() has happened I add the next texture. I have added a short time function setTimeout(myStart, 1000); so I can see in the console each loop clearly.

Can anybody shine some light on this?