Blazor - Mesh Creation

Looking for advice on the best way to create a mesh and add to the scene on a Blazor integration.

The vertex position, color and face data are created on the Blazor side, then passed to Three through javascropt interop. This is working but performance is slow from the time the data is created to finally displayed.

Currently I pass the data formatted as OBJ on a string then use OBJLoader.parse(). With about 100k vertices it takes about 10 seconds from calling from Blazor to display.

I’ve tested some of the Blazor js interop optimizations and they improve but only about a second.

Since the data is generated by my own code I can change the format and data types as needed. Is there a format better than OBJ to make the transfer? Is it faster to bypass the loader and create the mesh on the javascript side through Three’s mesh methods? Any other perf recommendations?

Thanks in advance for any pointers on this.