Chug caused by render.setShaderAuto()

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:

drawEr
Spike in draw

prepEr
Caused by spike in prepare

shadEr
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?