2009-12-02 6 views
3

OpenGL ES 1.1을 사용하여 iPhone 및 iPod Touch 용 2D 게임을 개발 중입니다. 모든 것은 iPhone, iPhone 3G 및 모든 iPod Touch 모델에서 정상적으로 작동합니다. 게임은 일반적으로 ~ 60 FPS로 장면을 렌더링합니다.iPhone 3GS OpenGL 이상한 버그

이것은 iPhone 3GS에서도 발생하지만, 때로는 3GS가 약 40FPS로 프레임 속도를 떨어 뜨리고 애니메이션이 고르지 않게 보일 때가 있습니다. 이것은 사용자가 전화를 잠 그어 절전 모드에서 다시 시작하는 경우에도 발생합니다.

드로우 트리거 모드를 SDK 3.1 이상에서 사용할 수있는 새로운 CADisplayLink 클래스로 변경하면 모든 장치에서 모든 것이 정상이며 3GS에서도 마찬가지이므로 NSTimer와 관련이 있다고 생각합니다.

이 문제를 해결하는 방법을 모르겠으며 3.1 제한이있는 앱을 게시하고 싶지 않습니다. 3.0 사용자에게는 여전히 많은 사용자가 있습니다.

iPhone 3GS에서도이 문제가 발생하는 사람은 누구입니까? 그렇다면 해결 방법을 알려주십시오.

감사합니다.

+0

나는 똑같은 문제를 겪고있다. 이 작품 희망! – Adam

답변

2

두 라이브러리를 모두 사용할 수 있으며 3.0 또는 3.1 장치에서 최상의 결과를 얻을 수 있습니다. AppStore가 사용하는 iPhone OS 최소 버전은 애플리케이션의 Info.plist 파일에 포함되어 있기 때문에 괜찮습니다.

아이폰 OS 버전은 애플의 UI Device Class Reference에서 다음 코드를 사용하여 retreivable입니다 : 당신은 또한 확인해야하지만

float iPhoneOSVersion = [[[UIDevice currentDevice] systemVersion] floatValue]; 

if (iPhoneOSVersion >= 3.1) { 
    useNewerFramework(); 
} else { 
    useOlderFramework(); 
} 

는 3.0 엑스 코드의 배포 대상을 설정하거나 최소한 어떤 버전 당신이 실행하려는.

+0

3GS에서도 동일한 문제가 발생 했습니까? –