다음 리스트는 다양한 세대의 장치에서 사용할 수 있는 iOS 하드웨어를 요약한 것입니다. 현재 장치 셰이더 퍼포먼스는 벤치마크를 사용하여 다른 하드웨어 기능을 비교하는 gfxbench에서 비교할 수 있습니다.
새로운 A5 칩이 탑재된 iPhone 4S는 복잡한 셰이더를 전체 스크린에 렌더링할 수 있습니다. 이미지 이펙트까지 렌더링할 수도 있지만 셰이더 최적화가 여전히 중요합니다. 하지만 게임이 디바이스의 한계를 넘지 않는다면 PC와 마찬가지로 이 세대의 디바이스에서 스크립팅과 게임플레이를 최적화하는 것은 시간 낭비입니다.
iPad2: A5는 셰이더가 충분히 단순하다는 가정 하에 풀스크린 범프맵이 가능합니다. 그러나 중요한 오브젝트에만 범프맵을 적용하는 편이 게임의 성능을 최대한 높여줍니다. 풀스크린 이미지 이펙트 사용은 아직 무리가 따릅니다. 스크립팅 최적화가 덜 중요합니다.
iPad 3는 물의 반사나 풀스크린 이미지 이펙트 등의 텍스처로 렌더링 효과를 구현할 수 있는 것으로 나타났지만 최적화된 셰이더가 아직은 중요합니다. 하지만 게임이 디바이스의 한계를 넘지 않는다면 PC와 마찬가지로 이 세대의 디바이스에서 스크립팅과 게임플레이를 최적화하는 것은 시간 낭비입니다.
iPhone/iPad의 GPU는 타일 기반 디퍼드 렌더러입니다. iPhone/iPad GPU는 대부분의 데스크톱 컴퓨터 GPU와 달리 씬을 프로세스할 때 이미지를 렌더링하는 데 필요한 작업을 최대한 빨리 최소화하는 데 집중합니다. 이렇게 하면 가시 픽셀만 프로세싱 리소스를 사용합니다.
GPU의 프레임 버퍼는 타일로 분할되고 렌더링은 타일별로 수행됩니다. 우선 전체 프레임의 삼각형을 모아 타일에 할당합니다. 그런 다음, 각 삼각형의 가시 조각을 선택합니다. 최종적으로 선택된 조각이 래스터라이저에 전달됩니다. 카메라에서 오클루전된 삼각형 조각은 이 단계에 거부됩니다.
즉, iPhone/iPad GPU는 Hidden Surface Removal 작업을 구현하여 리소스를 절약합니다. 이러한 아키텍처는 메모리 대역폭을 덜 소비하고, 전력 소비를 낮추며, 텍스처 캐시를 보다 잘 활용합니다. 타일 기반 디퍼드 렌더링은 실제 래스터화 이전에 장치가 가려진 조각을 거부할 수 있도록 하여 오버드로우를 낮게 유지하는 데 도움이 됩니다.
자세한 내용을 다음을 참고하십시오.
iOS 기기는 다음의 텍스처 압축 포맷을 지원합니다.
PVRTC 는 RGB 및 RGBA(색 정보+알파 채널) 텍스처 포맷을 지원하고 하나의 픽셀을 2비트 또는 4비트로 압축할 수 있습니다. PVRTC 포맷은 메모리 공간과 메모리 대역폭 사용을 줄여서 메모리에서 데이터를 읽을 수 있도록 만드는 데 필수적입니다. 이러한 기능은 대부분의 모바일 기기에서 매우 제한적입니다.
ETC 압축은 4x4 픽셀 블록을 64비트로 압축하지만, 알파 채널이 없습니다.
ETC2 는 1비트 및 8비트 알파 채널 압축입니다.
ASTC 는 픽셀 블록 크기를 사용하는 유연한 포맷입니다. Metal 및 OpenGL ES 3.0 그래픽스 API에서 지원됩니다.
참고: iOS 기기의 DXT 텍스처 압축 포맷은 지원되지 않습니다.
iOS의 텍스처 압축 옵션에 대한 자세한 내용은 iOS 2D 텍스처 오버라이드를 참조하십시오.
iPhone/iPad에는 버텍스 처리 전용 장치가 있습니다. 이 장치는 래스터화(rasterization)와 병렬로 연산을 실행합니다. 병렬 처리를 개선하려면 iPhone/iPad는 버텍스를 래스터라이저보다 한 프레임 먼저 처리합니다.
iPhone/iPad의 CPU와 GPU는 모두 동일한 메모리를 공유합니다. 따라서 (메인 메모리도 다 쓰지 않는 한) 텍스처에 필요한 동영상 메모리가 부족해지는 상황을 우려할 필요가 없다는 장점이 있습니다. 단점은 게임플레이와 그래픽스에 동일한 메모리 대역폭을 공유한다는 것입니다. 그래픽스에 할애하는 메모리 대역폭이 많아질수록 게임플레이와 물리 연산에 사용할 수 있는 대역폭이 줄어듭니다.
iPhone/iPad의 메인 CPU에는 VFP 또는 NEON 아키텍처를 지원하는 강력한 SIMD(Single Instruction, Multiple Data) 보조 처리 장치가 탑재되어 있습니다. Unity iOS 런타임은 이 장치를 스킨드 메시 변환, 지오메트리 일괄 작업, 오디오 프로세싱 및 기타 연산 집약적인 작업 같은 여러 작업에 이용합니다.