SurfaceView에서 픽셀 포맷을 변경하면 프레임 속도에 큰 영향을줍니다. 그러나 장치별로 최상의 형식을 선택하는 방법을 찾지 못하는 것 같습니다.안드로이드 SurfaceView에서 가장 좋은 PixelFormat을 찾는 방법
예 :이 내 게임은 모토로라 줌 (3.2.1)에 갤럭시 넥서스 (ICS 4.0)하지만 느린에 훨씬 빠르게 실행됩니다
@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);
}
.
PixelFormat.OPAQUE로 변경하면 상황이 바뀝니다. 넥서스는 느리고 Xoom은 이제 빠릅니다. 그래서 장치마다 최상의 형식을 결정할 수 있어야합니다. getWindow(). getAttributes(). 형식을 사용하여 시도했지만이 항상 -1 (OPAQUE) 반환합니다.
Display.getPixelFormat()은 Galaxy Nexus에서 5를 반환하며 PixelFormat의 상수와 일치하지 않습니다. – theJosh
장치가 올바른 값을 반환하지 않으면 어떻게 도와 줄지 잘 모름. 나는 당신이 특정한 경우에 그 장치를 탐지하고 그 장치를 위해 가장 빠른 장치를 사용할 수 있다고 생각합니다. – nmjohn
@nmjohn이 게시물에 따르면 반환 된 5는 실제로 BGRA_8888이며,이 제안이 실제로 좋은 실적을 거두는 지 여부는 흥미로울 것입니다. http://stackoverflow.com/questions/11949709/confused-about-pixelformat –