Shaders, alpha, and speed

We’re working on a rather robust project that has a large number of “layers” to it and with that comes a massive amount of fill rate as all the layers have some measure of transparency. Right now we’re using the Sprite shaders provided with EZGUI and have been successful for us for some time but now that we’re running more and more transparency we’re seeing a significant amount of slow down on handhelds (iPads work fine). our target devices are iPhone 4 and up and iPad 2 and up… so the specs are pretty high… but for some reason the fill rate on the handheld devices is really low compared to the iPads.

So i guess my question is what would you guys recommend for optimizations assuming we can’t simply remove a ton of layers or comp them together in 1 image. Are there some more efficient shaders out there for transparency management? I imagine its a combination of fill against texture size (they are getting larger). We have tried using mipmaps to control texture size based on platform and have had “some” success but not improving framerate significantly on handhelds.

Sorry if this is broad… i can go into more detail if anyone has any questions about our setup… but as always appreciate all the help the forums provide.

Cheers
Bryan

How many layers is your app using ?

its varies, currently we have 1 scene that has approx 10 layers of alpha sprites all sitting on top of each other. I realize thats naughty… :slight_smile: but i was hoping we could have some optimizations that would help. The problem we face is that a lot of the images are LARGE, and are sitting on top of other large images that sit on a large bg.

Are they all separate images or are some or all on one texture

they are all individual images, w/a lot of dead space. I was thinking of moving over to more dense meshes that conform closer to the actual texture which would give less pixel blending… its a bit of work but it might yield some better results since we’re not pushing a lot of ploys currently.

:open_mouth: