2009-07-23 2 views
1

저는 iPhone으로 개발 중이며 우리 게임의 대부분은 OpenGL ES를 사용하고 있지만 CGImage와 Quartz를 사용하여 표시 할 수있는 메뉴도 있습니다. OpenGL ES에서는 어떤 이미지 압축 (JPG, PNG 등)이든간에 텍스처로 메모리에 저장된 데이터는 PVRTC를 사용하지 않는 한 8 비트 텍스처라는 것을 알고 있습니다. 2 또는 4 비트. 우리는 큰 CGImages 때문에 메모리 문제를 겪어 왔습니다. 그래서 제 질문은 ... Quartz와 CGImage가 어떤 종류의 최적화와 압축을 사용합니까? Apple의 문서에서 세부 정보를 찾을 수 없습니다. 256 색 이미지를 넣는 것이 효과가 있는지, JPG와 PNG, 2도 도움이되는지를 알고 싶다면, 속도는 중요하지 않으며 메모리는 병목 현상입니다.Quartz는 텍스처 압축을 어떻게 처리합니까?

감사합니다.

답변

3

석영이 압축되지 않았습니다. 이는 픽셀 정확한 내용을 신속하게 합성하고 렌더링하기위한 것입니다. 이미지가 컨텍스트에 그려지는 위치는 중요하지 않지만 픽셀이 많은 픽셀 (일반적으로 장치에서 픽셀 당 4 바이트)에 대해 해당 컨텍스트가 픽셀 당 취하는 모든 내용을 취합니다. 하나의 큰 일은 블렌딩을 피하기 위해 알파를 미리 곱하는 것입니다.

이제 메모리 부족 상태의 일부보기는 표시되지 않으면 내용을 제거하고 필요에 따라 다시 구성 할 수 있습니다. 이러한 경우 압축 된 소스의 CGImage는 일반적으로 메모리를 적게 소비하지만 사용자가 설명하는 경우에는 관련이 없다고 생각됩니다.

+0

완벽한 정보에 감사드립니다. – Eli

관련 문제