Introduction

Screenshot_20221206-192141_Kodeco.jpg

Metal이란?

Untitled

간단히 말해서, MetalGPU로 데이터를 전송하고 GPU 명령을 스케줄링하는 일을 하는 Swift, Objective-C API이다.

많은 스레드에서 병렬로 실행하기 위해 큰 작업을 분할할 수 있는 경우, CPU로 더 적은 수의 스레드에서 처리하도록 하는 것보다 GPU에 배치하는 것이 가장 좋다.

Metal을 사용하면 작은 프로세스들을 보내서 GPU에서 병렬로 실행하고 하드웨어와 직접 통신할 수 있다.

Metal은 기기 화면에 표시되는 모든 것을 뒷받침한다. 대부분의 Apple Visual framework(Core Animation, SpriteKit, SceneKit 등)는 Metal을 기반으로 구축된다.

Metal은 Apple 기기에서 OpenGL을 대체하며 OpenGL은 이제 더 이상 사용되지 않는다.

Untitled

Metal은 모든 사람을 위한 것이 아니라 Low Level부터 설계하려는 사람에게 맞다.

(메모리 처리 및 명령 스케줄링 등 세부 사항을 지정해야 한다)

Initialize Metal

Untitled

Swift로 IOS 애플리케이션을 개발할 때 대부분은 GPU가 어떤 중요한 역할을 하는지 이해하지 못할 수 있다.

먼저 어떻게 GPU가 들어가는 지를 이해해보자.