다음 리스트는 다양한 세대의 장치에서 사용할 수 있는 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 런타임은 이 장치를 스킨드 메시 변환, 지오메트리 일괄 작업, 오디오 프로세싱 및 기타 연산 집약적인 작업 같은 여러 작업에 이용합니다.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.