GPU guide

Revision as of 16:12, 18 December 2012 by Admin (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

What you should know about different GPUs

Android runs on a variety of different GPUs (Graphics Processing Units). All of them have some issues that you should know about. This isn't meant to be an all-encompassing list, but it mentions some problems and workarounds that surfaced during the development of jPCT-AE. Keep in mind that not all problems surface on all devices/drivers and in all applications.


Overall, PowerVR's chips and drivers are pretty decent. There are a few problems though:

  • The shader compiler creates shaders that render everything in black: This seems to be a bug in the shader compiler. The only solution that i found was to add some additional variables to the shader that serve no real purpose but somehow fix the problem. This problem is very rare.
  • Missing polygons: This can happen with large polygons that are in parallel with the x/y-plane. They simply disappear in some situations. A solution is to either rotate them in a way that they aren't parallel to the x/y-plane anymore or split them into smaller ones. This problem is rare.
  • Missing polygons on first render pass: This happens on models with high polygon counts. Looks like as if the chip's internal binning can't handle the polygon count in the first pass. Solution: None that i know of. One option might be not to show the first render pass or simply live with it. This problem is rare for normal mobile applications.