uuhhmm, drawing with pixel-by-pixel or bitting for a particle system will be slooooooooowwwwww like hell I think! I have a picture loaded in an ImageList or TDirectDrawSurface and I draw the thing with the hardware accelerated methods any time the particle exists. Not the fastest I could think of for sure, but it's working, and I think it's alot faster than eighter blitting or pixel access. There was a demo of a smoke thingy, and I've played around with that, here's the source of the smoke thingy I've found on my HDD: Clicky

Hope that helps!