For the past few weeks i’ve been trying to solve a performance problem with transparency on mobile devices. i have a simple 512x512 texture of water, placed on a very large cube (x/y tiling 75). *As soon as i add an alpha channel to this texture, the framerate drops drastically - down to 10fps on both the iPhone 4G and iPad1. Are there any known, tested and proven ways of achieving transparency on those devices? i saw a few mobile games made with unity, that had transparent areas, even large ones, and even reflections on them, and their framerate was perfect. So what am i missing here?
10fps is probably due to your choice of shader for the water. You need the simplest shaders possible if you are forced to overdraw, because ios will not be able to cull shaded pixels under the water if it is not opaque. Reflections are fine - a cube map with pre-rendered environment images will more than suffice.
well older iOS devices, all suck on overdraw (transparent) performance. dont even bother trying to draw any large portion of the screen as transparent.
Try using just cubemap reflections, or animated texture, or even blended UV scrolled shader.
Just forget the transparency, unless you are only drawing a small percentage of your screen size transparent.