The smoke reacts to its surroundings and the wind. I have made a lot of effort to reduce lag using various techniques. The Dynamic Smoke engine can be fully customised and edited easily, just click See Inside to check it out. The smoke can also be dynamically lit. However I have disabled this feature as I have not been able to optimise it yet. To enable this.. Set the variable Distance_Dynamic to a value above 0 (recommended 50-100) and use the arrow keys to move the light source.
Update 1.2 - Multiple smoke plumes (Disabled) - Smoke plume rotates depending on wind - Smoke particle life limit (Disabled) Update 1.1 - Improved edge detection - Smoke spread less random - Smoke roll rate decreased - Improved smoke dispersion - Smoke plume looks denser - Improved scripts - Lag decrease