Quote:

The smoke doesn’t effect any noticeable when i am at a distance... but when i come close the time goes up a lot.




yes this a is a common and well understood problem with transparent polygons like sprites.. the closer or bigger they are the more pixels that need to be overdrawn by the engine. In other words, due to z-testing, the engine will always reject pixels behind a solid object..thus keeping your number of pixels actually drawn fairly low and consistent. However, with transparent polygons, the engine will need to draw over the already existing pixels with a new data..blending them. For each overlay of sprites the engine has to draw more pixels.. this can become remarkably slow if the engine must draw many large alpha blended sprites.

There is really not much to be done about this problem, except to try to always limit the number of sprites you needs to draw in any particalr areas(such as having a larger interval of time between smoke emmissions), and using lower res texture for your smoke sprites(often the quality is not affected at all.. use a 64*64 pixel texture instead 256*256 or whatever). I suppose on an engine level, there could be some way to limit the overdraw to a few sprite layers.

But fortunately, with modern cards this is becoming much less of an issue, and one easily avoided by smart level design.