Computer

AP(Application Processor)

dev_hyunn 2024. 11. 19. 15:59

이번에는 Unity에서의 iOS 디바이스의 AP에 대해서 알아보도록 하겠습니다.

AP란 Application Processor의 약자로, 스마트폰, 태블릿, 스마트 워치 등과 같은 모바일 기기에서 애플리케이션 실행과 다양한 기능을 처리하는 핵심 중앙 처리 장치를 의미합니다.

AP의 구성요소

  • CPU : AP의 중앙 처리 장치, 앱의 실행, 시스템 로직 처리
  • GPU : 그래픽과 관련된 연산을 담당. User Interface, 게임, 영상 등의 그래픽 성능
  • NPU (Neural Processing Unit) : AI와 머신러닝 연산을 가속화 하여, 얼굴 인식, 이미지 분석 기능 지원
  • ISP (Image Signal Processor) : 카메라 이미지와 비디오를 처리하는 전용 프로세서
  • DSP (Digital Signal Processor) : 음성 인식, 오디오 처리, 센서 데이터 처리
  • 메모리 컨트롤러 : AP와 메모리 간의 데이터를 관리하여 데이터 전송 속도를 최적화

등등 여러가지 시세틈 장치/인터페이스를 제어하는 기능을 하나의 칩에 포함하여 만든 SOC라고 볼 수있습니다.

Unity에서의 AP의 역할

앞서 설명드린 AP의 구성요소 중 Unity같은 게임 엔진에서는 3D 그래픽의 렌더링 처리, 시스템 로직 처리 등이 가능합니다.

  • GPU : 유니티에 렌더링하는 실시간 렌더링, Metal API의 iOS의 고유 그래픽 API
  • CPU 코어 : 시스템 로직 처리 및 물리 연산 처리

Unity에서 Metal API의 장점

  • 그래픽스 API 호출 시 적은 CPU 소모
  • API 수준 확인 레이어
  • 빌트인 GPU 시스템에서 GPU 제어 강화
  • 메모리리스(memory-less) 렌더 타겟 지원(iOS/tvOS)
  • 새로운 Apple 표준
  • 컴퓨터 셰이더
  • 테셀레이션 셰이더

관련 Unity Documentation

Metal API란?

Apple이 개발한 그래픽/컴퓨트 API로 기능적으로는 OpenGL과 OpenCL를 합쳐두었고, 개발 시에는 Apple이 직접 개발한 프로그래밍 언어 Swift나 C++, Objective-C를 사용 가능하다.

Metal API는 각 버전 별로 나누어져있으며 아래와 같다.

Metal 1

  • 출시 WWDC 2014에서 처음 출시

Metal 2

  • GPU 기반 명령 인코딩 추가 (CPU가 아닌 GPU가 직접 처리)
  • 가속화된 머신 러닝 훈련
  • 가속화 된 선-삼각 교차점
  • 셰이더 디버거
  • 종속성 뷰어
  • 레이 트레이싱 지원

Unity의 Rendering Pipeline

3차원으로 만들어진 모델을 2차원 픽셀 데이터로 변환하는 렌더링 과정

커맨드 큐 에서 GPU로 렌더링을 요청하는 행위를 Draw Call이라 하며, 렌더 패스(생성된 커맨드)를
같은 오브젝트, 같은 머테리얼을 하나의 배칭 형태로 묶어서 렌더링하는 방식들을 통해 Render 최적화를 이룰 수 있다.
  • Unity에서의 Render pipeline은 다양하고, 해당 렌더 방식마다 최적화 방식이 다를 수 있어 이에 대해 학습이 필요하다.

'Computer' 카테고리의 다른 글

CPU 아키텍쳐  (3) 2024.11.07
캐시 메모리의 개념과 역할  (3) 2024.10.29
컴퓨터 시스템에서 CPU, RAM, 저장 장치  (2) 2024.10.24