Performance Issue with Billboarded nodes.

I am modeling a smoke/exhaust trail of a missile. I need this trail to cover the entire trajectory of a missile in order to show the path that the missile took to reach its target. In lieu of using ParticleEffects I decided to create a NodePath from a simple quad model (two tris), plop a semi-transparent smoke puff on it, billboard it to face the camera, and drop one instance at each sample of the trajectory. I end up with 3016 samples and hence … 3016 quad NodePath instance.

When looking at the trail from the side where only a few hundred nodes are visible, it looks absolutely awesome. When looking down its path where 3016 nodes are visible, it brings my PC to its knees … like down to 7 or 8 FPS. This PC is no lightweight either so I know the problem is not my PC’s performance.

I assume that since I have 3016 NodePath instances that I end up doing 3016 culling checks each frame. Would that be responsible for the poor performance? Any other ideas as to why such a poor performance? Would it be better for me to use ParticleEffects instead of my 3016 NodePaths?


Try reading this thread. In short, yes, you should use particle effects instead of thousands of individual billboards.



If the particle effects still cripple performance, you may also try switching your render engine (via Config.prc). We found that on our graphics card, the ‘pandagl’ render mode was a bit of a nightmare, while ‘pandadx8’ handled our heavy-transparency world with no problem.

Take care,

That’s interesting. It does, of course, depend highly on your graphics card and your currently installed driver.

It’s possible that your graphics driver was forcing software rendering in OpenGL for some reason; this is a fairly common problem with OpenGL. This is especially likely with certain kinds of texturing modes (especially WMBorderColor) or with certain framebuffer configurations (e.g. multisample), or if you have a particularly old graphics driver installed.


I have dual 7800 GTX cards in operating in SLI mode running the latest nVidia drivers. Switching to DX8 didn’t help, at least not noticably. Looks like particles it is …