Metal (iOS API)

Metal
Logo
(c) Super Evil Megacorp, CC BY-SA 3.0
Operační systémiOS
macOS
Typ softwaruAPI
Některá data mohou pocházet z datové položky.

Metal je nízkoúrovňové, nízkorežijní, hardwarově akcelerované grafické API, které bylo poprvé představeno v iOS 8. Hlavní myšlenkou tohoto API je přinést na platformu iOS výkonová vylepšení, která poskytují podobně zaměřená API na jiných platformách jako například AMD Mantle a Microsoft DirectX 12. Metal je dostupný od 27. listopadu 2014 pro zařízení s čipy Apple A7, Apple A8 a Apple A8X. Metal také představil compute shadery, které dále vylepšují možnost použití GPGPU.

Metal používá nový shaderový jazyk založený na C++11. Tento jazyk je implementován pomocí clang a LLVM.[1]

Vylepšení výkonu

Metal by měl poskytovat větší výkon než jeho předchůdce, OpenGL, z několika důvodů:

  • Předkompilované shadery a předběžná validaci stavu
  • Explicitní synchronizace mezi GPU a CPU
  • Sdílený paměťový prostor mezi GPU a CPU
  • Menší režijní nároky driveru[2]

Některé tyto body odstraňují část nároků na CPU potřebných pro úspěšné vykonání příkazů na GPU. To pak může vést k celkovému zvýšení výkonu, protože CPU může být místo toho využito k jiným výpočtům.

Reference

V tomto článku byl použit překlad textu z článku Metal (iOS API) na anglické Wikipedii.

  1. Metal Shading Language Guide [online]. September 8, 2014 [cit. 2014-09-10]. Dostupné online. (anglicky) 
  2. PRANCKEVIČIUS, Aras. Metal, a new graphics API for iOS 8. blogs.unity3d.com [online]. Unity Blog, 2014-07-03 [cit. 2019-09-18]. Dostupné online. (anglicky) 

Externí odkazy

Média použitá na této stránce

Apple Metal logo, version 2.svg
The logo of the Metal (API) (Metal 2) framework
Vainglory Halcyon Fold map.tif
(c) Super Evil Megacorp, CC BY-SA 3.0
Halcyon Fold map from the mobile multiplayer online battle arena (MOBA) video game Vainglory. It is set up with team bases on both ends, the single "lane" connecting the two, and the "jungle" underbrush beneath the lane. Turrets line the lane to ward off enemy advances.