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.