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!

2 Likes

I’m in the same situation. I’m starting a new project that will have tens of millions of points and trying to decide between Three.js and Potree.

It looks like Potree handles the performance of large datasets automatically, but is less flexible than Three.js.

How hard are these types of performance issues to fix with Three.js? @adilrabbani did you find a solution?