2011-08-20 10 views
4

iPhone 게임에서 OpenAL과 관련하여 성능에 문제가 있습니다. 내 게임은 60fps로 부드럽게 실행되지만 OpenAL을 초기화하면 게임이 급히 시작됩니다.OpenAL 초기화로 인해 iPhone 게임의 성능이 저하됩니다.

ALCdevice* device = alcOpenDevice(NULL); 
    ALCcontext *context; 

    if(device) { 
     context = alcCreateContext(device, NULL); 
     alcMakeContextCurrent(context); 
    } 

내가/어느 OpenAL 소스도 부하를 만드는 모든 소리를 재생하지 않습니다이 내 초기화 코드이다. 지터 (항상 게임 속임수)는 OpenAL의 초기화로 인해 발생합니다. XCode 인스트루먼트는 게임이 안정적인 60fps로 실행되지만 게임 위의 코드를 원활하게 실행하지 않으면 분명히 지터 롭다고 말합니다.

iOS 3.1.3이 적용된 이전 iPod Touch 2G에서도 이와 같은 현상이 발생하지 않습니다. iOS 4를 사용하는 다른 모든 기기에서 지터 발생이 발생합니다. 이는 또한 미친 문제입니다. 나는 또한 OpenAL을 별도의 스레드에 넣으려고했으나 도움이되지 않습니다.

비슷한 행동을 한 사람이 있습니까?

+0

"장치"및 "컨텍스트"에 대한 가장 일반적인 정의를 보여주기 위해 게시물을 편집했습니다. 비슷한 일을하고 있는지 확인하십시오. – RJFalconer

답변

0

컨텍스트 설정 후 alcGetError()을 호출하여 성공했는지 확인하십시오.

시뮬레이터 또는 실제 전화에서이 문제가 발생하지 않습니까?

코드를 게시 한 후 소리가 나는 것은 무엇입니까? alcOpenDevice이 실패하면 게시 한 코드에서 컨텍스트가 없는데도 반환하지 않습니다.

관련 문제