Trees are a performance problem for an iPhone specific reason Please allow me to explain : In order to render a cheap semi-3D tree, with leaves, you have to use, let's assume, 2 - 3 vertical quads. Each one will be textured with a unique image, having a trunk and a pack of leaves. There comes the problem : If you want your quads not to hide the ones that are behind them, and take into account the transparent pixels of your texture instead, you have to use Alpha Testing. Alpha Testing recalculates if a portion of a solid polygon has to be more or less transparent, and then to display what's behind it. This calculation has already been done in an earlier pass, when the graphical pipeline saved the raw untextured polygon positions & displays. So not only this hungry calculation is done twice here, but the iPhone's graphical chip has an internal rendering optimization that put Alpha Testing out of the loop. In short, Alpha Testing is clearly unadvised by Apple. So, as one tree rarely comes alone, you will have to multiply these hard hits to your FPS by the number of trees onscreen. Which is why gamedevs often prefer (ugly) single quaded trees. Ugly trees or 15 fps ? Make a choice
doesn't GTA 4 have really crap like trees? I'v'e watched alot of gameplay vids and wasn't impressed with how ugly they are. This is how it should look: