Я обнаружил, что изменение формата пикселей в SurfaceView сильно влияет на частоту кадров.Однако я не могу найти способ выбрать лучший формат для каждого устройства.
Пример:
@Override
public void surfaceCreated(final SurfaceHolder holder) {
//This line seems to fix speed issue with his res devices
holder.setFormat(PixelFormat.RGBA_8888);
androidGame.setSurfaceHolder(holder);
}
Это заставляет мою игру работать намного быстрее на Galaxy Nexus(ICS 4.0), но медленно на Motorola Xoom (3.2.1).
Если я перехожу на PixelFormat.OPAQUE, ситуация меняется.Nexus медленный, а Xoom теперь быстрый.Поэтому мне нужно определить лучший формат для каждого устройства.Я пытался использовать getWindow (). GetAttributes (). Format, но это всегда возвращает -1 (OPAQUE).