Three.js obj model loading freezes the Canvas until load is complete

Using glTF instead of OBJ will eliminate a considerable amount of the parsing time. But even if you reduce the parsing overhead via glTF, there are other factors which influence the mentioned delay when rendering an asset for the first time. Especially the texture upload and the shader program compilation will cause overhead and thus large frame times. You can mitigate this overhead in various ways. The usage of ImageBitmap or texture compression is one option to speed up the texture upload.

However, I recommend you start with glTF and see how satisfying the performance will be.

BTW: Using promises does not help to unblock the main thread. It’s just a more elegant option for asynchronous programming.

1 Like