2010-01-05 5 views
2

나는 cocos2d를 사용하여 iphone 게임을 개발 중이며 FPS를 표시하도록 설정해야합니다. 이제 대부분의 경우 응용 프로그램이 60 fps로 시작되고 실행됩니다. 그러나 때때로 무작위로 응용 프로그램이 시작되어 단 40 fps로 끝납니다.Cocos2d 응용 프로그램 시작시 임의의 fps가 떨어 집니까?

이것은 자주 발생하지 않으며 응용 프로그램을 종료하고 최대한 빨리 다시 시작해야만 발생합니다. 그러나 대부분의 경우 효과가 나타나지는 않습니다. 그러나 몇 가지 빠른 종료 재시작 시퀀스가 ​​끝나면 게임은 결국 시작되어 일반 60 대신 40fps 밖에 없습니다.이 시점에서 응용 프로그램을 종료하고 약 3 초 동안 기다리면 정상 60fps로 다시 시작됩니다.

다시 시작하기 전에 응용 프로그램의 메모리를 모두 비울 수 없다고 가정합니다.이 문제는 iPhone OS와 관련이있는 것 같습니다.

응용 프로그램을 5 초간 기다렸다가 다시 시작하면 절대 절대로 발생하지 않습니다. 누구든지 이런 종류의 문제가 있었나요?. 왜 이런 일이 일어날 지에 대한 아이디어가 있습니까?

+0

나는 이런 종류의 행동을 보았습니다. 장치와 관련이 있고 cocos2d와 관련이없는 것 같습니다. –

+0

그래, 그래도 내가 이것을 고칠 방법이없는 것 같아? –

답변

2

iPhone 3GS/iPod Touch 3G에서 OPEN GL 2.0을 에뮬레이트 할 때 버그가 있었기 때문에 궁금한 사람이 있다면 OS 3.1에서 수정되었습니다. 그리고 당신이해야 할 일은 다음과 같습니다.

// Try to use CADisplayLink director 
// if it fails (SDK < 3.1) use Threaded director 
if(! [Director setDirectorType:CCDirectorTypeDisplayLink]) 
    [Director setDirectorType:CCDirectorTypeThreadMainLoop]; 
관련 문제