Originally Posted by Alidium
Thanks a lot for all the input I'll come back with results later.
Although why is it that in many games the fire or smoke partials appear to use a few large particles rather than a bunch a small one if its faster? Do those particles not use an opacity map on them? I'm just going off observation.
When I say geometry will always render faster, I'm not talking about realtime engines. Games are a lot different than rendering, in realtime engines they have different methods that are technically less accurate but are much faster.
For example a realtime engine might only go 1-2 planes back before reporting back the color of the deepest pixel, "Is the pixel behind it 51% transparent? Yes. Good enough they're going to be shot in the face anyway so who cares"
. Where a render engine will go a lot deeper and spend a lot more time figuring it out exactly what color the pixel will be even if it doesn't change noticeably. It's focused on accuracy not speed.
Realtime engines also have things compartmentalized to speed things up. So certain things they know will cause long calculations are excluded. Grass and other transparent materials, or far off distant buildings, might not be drawn through smoke.
Like it was talked about a bit earlier, there is a difference between Alpha Test(fast) and Alpha Sort(Slower)
, in rendering all you really have is alpha sorting unless you string some pretty serious hacks together when rendering, and then accuracy goes right out the window. Most engines like UDK default and process opacity textures to be alpha test unless you specifically flip a few switches to force longer calculations.
Some engines will detect a transparent material behind another and flip the backmost to alpha test so it returns a solid color faster.
Some engines resolve what can be seen on the object level before going down and sorting transparency.
Some games might do some tweaks to the opacity map to make sure pixels fall into certain tolerances. If a pixel is 5% transparent, treat it as 0%, process all 0% pixels quickly with no sorting.
With both rendering and realtime the less stacked planes and the less semi-transparent pixels you have the faster it's going to resolve.
I'm sure there are more programer/tech heavy answers out there if you really wanted to dig into the difference but those are the ones I remember from when I dug into the subject.