메탈 (API)

https://developer.apple.com/metal/ **메탈**(Metal)은 부하가 적은 하드웨어 가속 그래픽 및 연산 API로, iOS 8에 처음 등장했다. 한 API에 OpenGL, OpenCL과 비슷한 기능을 병합하고 있다. 크로노스 그룹의 크로스 플랫폼 벌컨, 마이크로소프트의 윈도우용 Direct3D 12처럼 다른 플랫폼의 유사 API의 성능 이점 일부를 iOS에 가져오도록 설계되어 있다. 2015년 6월 8일 이후 메탈은 애플 A7 이상을 이용하는 iOS 기기 및 OS X 엘카피탠를 구동하는 2012년 이후 모델의 맥에서 이용이 가능하다. 또, 메탈은 연산 셰이더를 도입함으로써 GPGPU 프로그래밍 기능을 더 개선하였다. 메탈은 C++11 기반의 셰이딩 언어를 이용하며, 클랭과 LLVM을 이용하여 구현되어 있다.accessdate=September 10, 2014 OS X의 메탈 지원은 WWDC 2015에서 발표되었다.
# 성능
메탈은 몇 가지 이유로 OpenGL 보다 더 나은 성능을 보여준다: * 미리 컴파일된 셰이더와 선행 상태 확인 * GPU와 CPU 사이의 명확한 동기화 * GPU와 CPU 간 공유 메모리 공간 * 더 낮은 드라이버 부하http://blogs.unity3d.com/2014/07/03/metal-a-new-graphics-api-for-ios-8/ 이 요점들 중 일부는 CPU가 GPU 명령을 성공적으로 수행하는데 필요한 업무량을 제거해준다. 그 뒤 CPU가 다른 작업을 연산하는데 사용될 수 있으므로 전반적인 성능 향상을 가져다준다.
# 도입
애플에 따르면 2017년 6월 기준으로 148,000개 이상의 애플리케이션이 메탈을 직접 사용하며 1,700,000개가 하이레벨 프레임워크를 통해 이를 사용한다.url=https://developer.apple.com/videos/play/wwdc2017/102/ {| class="wikitable sortable" !타이틀 !개발사 (macOS 버전) !게임 엔진 !출시일 (macOS) !참고 |- |도타 2 |밸브 코퍼레이션 |소스 2 |2013년 7월 18일 |2018년 기준으로 Molten VK를 사용하여 메탈 위에 벌컨 지원을 제공한다language=en-us |- |F1 2016 |페럴 인터랙티브 | EGO Engine 4.0 |2017년 4월 6일 |시작 때부터 메탈을 지원 |- |Total War: Warhammer |페럴 인터랙티브 |Total War Engine 3 |2017년 4월 19일 |시작 때부터 메탈을 지원 |- |Warhammer 40,000: Dawn of War III |페럴 인터랙티브 |Essence Engine 4 |2017년 6월 9일 |시작 때부터 메탈을 지원 |- |Hitman |페럴 인터랙티브 |IO 인터랙티브 |2017년 6월 20일 |시작 때부터 메탈을 지원 |- |Bioshock Remastered |페럴 인터랙티브 |Unreal Engine 2.5 |2017년 8월 22일 |시작 때부터 메탈을 지원 |- |F1 2017 |페럴 인터랙티브 | EGO Engine 4.0 |2017년 8월 25일 |시작 때부터 메탈을 지원 |- |Deus Ex: Mankind Divided |페럴 인터랙티브 |Dawn Engine |2017년 12월 12일 ||시작 때부터 메탈을 지원 |- |DiRT Rally |페럴 인터랙티브 | EGO Engine 2.5 |2017년 11월 16일 |시작 때부터 메탈을 지원 |- |Ballistic Overkill |Aquiris Game Studio |Unity Engine 5 |2017년 3월 28일 |시작 때부터 메탈을 지원 |- |마피아 III |Aspyr |Illusion Engine |2017년 5월 11일 |시작 때부터 메탈을 지원 |- |월드 오브 워크래프트 |블리자드 엔터테인먼트 |WoW Engine |2004년 11월 23일 |메탈 지원 시점: 2016년 8월 |- |스타크래프트 II: 자유의 날개 |블리자드 엔터테인먼트 |SC2 Engine |2010년 7월 27일 |메탈 베타 지원 시점: 2017년 1월 24일 |- |히어로즈 오브 더 스톰 |블리자드 엔터테인먼트 |SC2 Engine |2015년 6월 2일 |메탈 베타 지원 시점: 2017년 1월 24일. 2017년 9월 29일 블리자드는 일시적으로 메타 지원을 제거함. |- |Fortnite |에픽게임즈 |Unreal Engine 4 |2017년 7월 25일 |시작 때부터 메탈을 지원 |- |Obduction |사이언 월드 |Unreal Engine 4 |2017년 3월 29일 |시작 때부터 메탈을 지원 |- |Everspace |Rockfish |Unreal Engine 4 |2017년 5월 26일 |시작 때부터 메탈을 지원 |- |아크 서바이벌 이볼브드 |Studio Wildcard |Unreal Engine 4 |2017년 8월 29일 |시작 때부터 메탈을 지원 |- |Observer |Bloober Team |Unreal Engine 4 |2017년 10월 24일 |시작 때부터 메탈을 지원 |- |언리얼 토너먼트 |에픽게임즈 |Unreal Engine 4 |TBA |메탈 지원 시점: 2017년 1월 |- |Refunct |Dominique Grieshofer |Unreal Engine 4 |2016년 9월 5일 |시작 때부터 메탈을 지원 |- |시티즈: 스카이라인 |패러독스 인터랙티브 |Unity Engine 5 |2015년 3월 10일 |메탈 지원 시점: 2017년 5월 18일 |- |유니버스 샌드박스 |Giant Army |Unity Engine 5 |TBA |메탈 베타 지원 시점: 2017년 6월 |- |워 썬더 |가이진 엔터테인먼트 |Dagor Engine 4 |2012년 11월 1일 |메탈 지원 시점: 2017년 5월 24일 |- |The Witness |Thekla, Inc | Thekla Engine |2017년 3월 8일 |시작 때부터 메탈을 지원 |- |Micro Machines World Series |Virtual Programming |Unity Engine 5 |2017년 6월 30일 |시작 때부터 메탈을 지원 |-- |Guardians of the Galaxy: The Telltale Series |텔테일 게임즈 |텔테일 게임즈 |2017년 4월 18일 |시작 때부터 메탈을 지원 |- |Batman: The Enemy Within |텔테일 게임즈 |텔테일 게임즈 |2017년 8월 8일 |시작 때부터 메탈을 지원 |- |마인크래프트: 스토리 모드 |텔테일 게임즈 |텔테일 게임즈 |2017년 7월 11일 |시작 때부터 메탈을 지원 |- |ARMA 3 |버추얼 프로그래밍 |Real Virtuality |TBA |메탈 베타 지원 시점: 2017년 9월 17일 |- |X-Plane 11 |Laminar Research |Custom engine |2017년 5월 30일 |메탈 지원 예정 |- |Headlander |Double Fine Productions |Buddha Engine |2016년 11월 18일 |시작 때부터 메탈을 지원 |}