I have found that changing the pixel format in a SurfaceView has a large impact on frame rates. However I can\'t seem to find a way to select the best format on a per device
I was able to talk to Romain Guy at Google IO 2012 during office hours. Unfortunately there is no reasonable way to detect the best pixel format to use. You would have to run a benchmark test on each device to find it's best format.
Display.getPixelFormat() will get the pixel format for you're display. I would recommend doing it that way.
This method is no longer supported and will always return RGBA_8888.
/**
* Gets the pixel format of the display.
* @return One of the constants defined in {@link android.graphics.PixelFormat}.
*
* @deprecated This method is no longer supported.
* The result is always {@link PixelFormat#RGBA_8888}.
*/
@Deprecated
public int getPixelFormat() {
return PixelFormat.RGBA_8888;
}