2009-10-20 7 views
1

저는 iPod/iPhone 용 OpenGL 게임을 만들고 있습니다.아이폰 앱의 로딩 시간이 많습니다.

시작시 필요한 모든 텍스처를 즉시로드합니다. 처음에는 로딩 시간이 짧았지 만, 계속해서 새로운 텍스처를 추가하고 추가하면서 로딩 시간이 증가하여 게임 시작 전 수초가 걸렸습니다.

최근에 새로운 문제가 나타났습니다. 기기에 게임을 제작할 때 너무 오래 걸리고 게임이 종료됩니다. 응용 프로그램이 올바르게 설치되어 있고 그것을 테스트 할 수 있지만 xcode에 연결되어있는 동안 절대로 사용할 수 없습니다. 때로는 너무 많은 요소가 화면에 표시 될 때 앱이 종료됩니다.

지금은 총 크기가 약 2MB 인 6 개의 파일을 사용합니다.

로딩 스크린을 만들 수있는 양식이 있습니까?

그 밖의 다른 조치를 취하면이 문제를 해결할 수 있습니까?

답변

2

코어 그래픽을 사용하여 시작할 때 PNG 파일을 디코딩하는 경우 PVRTexTool을 사용하여 PVR 데이터 파일을 만드는 것이 좋습니다. PVR 파일의 내용은 OpenGL에 직접 업로드 할 수 있습니다. Core Graphics를 사용하여 디코딩 할 필요가 없습니다.

PVRTexTool은 밉맵 생성 (시작시 피할 수있는 또 다른 기능)과 압축 형식으로 인코딩 (텍스처 크기를 줄이는 것 역시 도움이됩니다)과 같은 깔끔한 작업을 수행 할 수도 있습니다.

0

텍스처를 PVR 텍스처로 인코딩하는 것 외에도 몇 가지 솔루션이 있습니다.

하나는 나중에 텍스처로드를 연기하는 것입니다. 앱에서 사용자 인터페이스를 표시하고 텍스처를로드하는 동안 사용자에게 진행률 표시 줄을 표시 할 수 있습니다. iPhoneOS로 인해 앱이 종료되지 않습니다.

아마도 어떤 종류의 텍스처를 만들지 조사해야 할 것입니다. 일부 형식은 다른 형식보다 훨씬 비쌉니다.

마지막 수단으로 텍스처를 압축되지 않은 원시 텍스처로 저장할 수 있습니다. 이렇게하면 앱이 커지지 만로드 시간은 단축됩니다.

+0

참고 사항 : 현재 프로젝트에서는 3GS에서 약 2.0MB의 PNG와 0.5MB의 PVR 텍스처를 2 초 이내에로드합니다. 대부분의 PNG :는 32 비트 텍스처로로드되고 16 비트는 알파를 통과하는 펀치로로드됩니다. –

관련 문제