Ok, just to be clear, the models in question are loaded in as the player is already walking around in the world. The idea is to have them loaded in seamlessly. If I don’t add render.setShaderAuto(), these models are loaded in with zero chugs. However, if I add it, there is a noticeable, brief chug. Adding these 2 commands in the loading screen doesn’t seem to solve this:
render.prepareScene(GraphicsStateGuardianBase.getDefaultGsg())
render.premungeScene(GraphicsStateGuardianBase.getDefaultGsg())
There’s still a chug. I used PSTATS and indeed, the culprit is the shader being created at run time for the newly added model:

Spike in draw

Caused by spike in prepare

Caused by spike in making a new shader
So is this because a new shader has to be made each time a new model is loaded into the scene? Is there a way to have this shader made in another thread? It seems that David even admitted this, at the time:
So what can be done about this?