Single surface VS CopyEntity - the big fight live

Blitz3D Forums/Blitz3D Programming/Single surface VS CopyEntity - the big fight live

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

Which is faster?
Everybody seems to think that a single surface particle system is faster than using native Blitz sprites. Well, yes, and no.
AFAIK, using CopyEntity() means that only 1 copy of the mesh/texture is actually used and all subsequent copies are just instances of that entity.
There's a LOT of extra maths behind an SS system, and it got me thinking about whether its *really* worth the hassle.
Individual CopyEntity() beings can have their alpha/color altered, and I don't think it increases the surface count. Theroetically, if you are only using 1 texture for your particles, this should result in one surface being used anyway, and the extra speed would be gained by not having to
- rebuild the SS mesh every frame
- send it to the GFX card (only 1 plane needs to be sent)
- sort out the well known z-order problems

To check out the speed, try creating 3000 planes using CopyEntity() - works fine(?)

Let me know if I'm overlooking something blindingly obvious, but I used such a system in my last game and it worked fine. The only noticable slowdown was when there was a lot of overdraw (fill rate) which you get with an SS system as well.