Viewing 20-30 million particles

Hello Threejs Discourse Members,

Threejs newbie here. :slight_smile: I am working on a web visualizer for a simulation software that simulates millions of particles. I was able to work out a simple visualizer in Threejs which can view particles at around 500k with decent frame rates but things started to go down when I moved to millions. I used Points() (three.js docs) for this purpose.

I am looking for an efficient way to view these particles. Is there a way to do this with just using Threejs (fps around 10-15 is still good) or should I move to different implementations for this purpose (one being GitHub - potree/potree: WebGL point cloud viewer for large datasets). I am also open to algorithms that could help achieve this. I can see one paper being the potree implementation itself but if its possible to do this without going through the whole paper then I would prefer going that route.

Any other suggestions are always welcome. Thank you!