First WebGLRenderer.render() with BufferGeometry (multiple buffers) blocks UI


I have a problem with the first render() call after adding Points to the scene. BufferGeometry added to Points might be pretty big (10 additional color and position buffers). In general I do not care much about waiting, but I am unable to use my little app on iPhone since they probably reload the page once it blocks the UI for some time.

What I did: I offloaded geometry creation to Worker (works fine) and I was experimenting with offscreenCanvas, which is also fine, but it is not supported on iOS / Safari so I am kinda hopeless. :x

There is a link to Live demo: Cloud-points based visualizer
And to repository: GitHub - adamblack/point-cloud-visualizer: Point cloud visualizer for images with depth maps and other interesting algorithms

It seems to me there might not be a solution unless I completely change my rendering steps, i.e. add Points to scene one by one (fine for i.e. ai_images scenario) but there are scenarios where I want to use morphBuffers for image morphing (waifus scenario) so I need to do that in one step.

Thank you for any suggestions :]

upload over multiple frames, using attributes updateRange?