Repeating texture performance

Started by kkl, May 11, 2014, 04:47:50 PM

Previous topic - Next topic

kkl

I resized the objects so it doesn't fill up the screen and it gets alot smoother! But it gets abit slowdown occasionally when I scroll homescreen really fast for some time. At least the issue goes away nw. Wonder how other live wallpaper does so well despite of this issue.

EgonOlsen


kkl

Do you have any recommendation to reduce the fillrate other than reducing the texture size?

EgonOlsen

Texture size has almost no impact on fillrate. Fillrate simply depends on how much you draw on the screen, how much overlap you have and how much of this comes from overlapping transparent polygons.

kkl

Hi Egon, sry having to bring this up again. I checked from forum and many people are saying that transparent object are the most expensive process for fillrate, but I don't quite sure how transparent object would affect the fillrate, in technical speaking. Hope I can hear more about it from you.

From what i can understand, the more transparent part fills up the screen, the more hardware cost it would be. Is it caused by the z buffer where it checks the z buffer and rewrite again, or something else?

Say, if I put a all transparent objects at background (they takes almost more than half of the screen), and leave the opaque 3D objects at front, does it help in fillrate?

EgonOlsen

#20
Mobile gpus are optimized for reducing overdraw of opaque polygons. They do this by using an approach called tile based rendering/deferred rendering. If you want to know more about this approach, just google for it or search the forum. IIRC, i briefly explained the idea once.
This doesn't help for transparent polygons and they require a framebuffer read per pixel in addition. Both things combined roughly explain the higher fill rate need of transparent polygons. If that's any better in the situation that you described depends on the gpus and maybe the drivers. I wouldn't expect too much from it.

kkl

Hi Egon,

Thanks for the idea. I spent a good amount of time to study the deferred rendering. It seems like it will skip drawing/processing the polygon that is located behind any opaque polygon to improve performance, CMIIW. What if the polygon is partial opaque and transparent (say, an object with opaque at the center and a small portion of transparent area around its sides)? Does it defered if most area of texture is opaque or it simple treats it as all transparent? 

EgonOlsen

My guess is that it treats them as transparent.