A Metal 2 API-ra tesz fel mindent az Apple

Jó volt az OpenGL, az OpenGL ES és az OpenCL is, de a vállalat inkább a saját technológiájában bízik.

Az Apple az idei WWDC-n bejelentette a Metal 2 API-t, amely a három éve megjelent, azóta folyamatosan fejlesztett Metal API alapos feljavítása. Mint ismeretes mára az Apple már nem csak az iOS, hanem a macOS esetében is a saját fejlesztését tekinti megfelelő útnak, így az OpenGL, OpenGL ES és OpenCL szabványok alól ugyan nem rántották ki a talajt, elvégre a már elkészült programokat nem akarják működésképtelenné tenni, de világosan látszik, hogy innentől kezdve csak a Metal létezik, és a fejlesztőknek is erre kell figyelniük.

Ez az Apple számára egy logikus döntés, mivel maga a Metal nem csak egy grafikus API, hanem van Metal for Compute komponense, amely az OpenCL-t hivatott kiváltani, és ezt a gyakorlatban meg is tudja tenni. Többek között a Metal 2-t a vállalat már gépi tanuláshoz is szánja, és azt is elmondták, hogy Siri hangját ezzel tették természetesebbé. Az Apple konkrétan elhozza a macOS-re az iOS-en már elérhető Metal Performance Shaders keretrendszert, amelyet alaposan ki is egészítenek a gépi tanuláshoz. Itt a cég az érkező iMac Pro modell sikeréért dolgozik. Persze más Apple hardver mellett is lehet használni a csomagot, de az újításokat alapjaiban az AMD Radeon Pro Vega opciókhoz tervezik.

Hirdetés

A Metal 2 mindezek mellett jobb fejlesztőeszközöket biztosít, többek között mostantól elérhető lesz a GPU teljesítményszámlálók támogatása. Ez lehetővé teszi a fejlesztők számára, hogy a korábbinál több adatot lássanak az alkalmazás futtatásáról, és ezáltal jóval hatékonyabban kiértékelhető, hogy az adott kód mennyire terheli a grafikus vezérlőt. Ezeket az adatokat, valamint AMD és az Intel GPU-kra vonatkozó publikus dokumentációit felhasználva rendkívül hatékonyan finomhangolható az adott programkód.

A kisebb grafikára és compute-ra vonatkozó változások mellett a Metal 2 nagy újítása az indirekt argumentum pufferek támogatása. Ebből a szempontból az Apple nagyon nyit az úgynevezett GPU-driven pipelines konstrukció felé, amit az elmúlt években számos videojáték-motor már bevetett valamilyen formában. Maga a GPU-driven pipelines egy nagyon átfogó fogalom, a lényege röviden az, hogy a GPU-n futó, rengeteg futószalaghoz a lehető legkevesebb processzoridőt kelljen igénybe venni. Ezt persze számos módon el lehet érni, és lehet a processzor tehermentesítésén kívül más járulékos előnye is, de a legfőbb cél minden esetben a processzoridővel való gazdálkodás.


[+]

Az Apple a Metal 2-be egy GPU-driven pipelines konstrukciót próbál beleültetni. Az eddigi Metal API esetében egy leképezésre vonatkozó rutin tartalmazta a grafikára vonatkozó állapotot, amit a hardver nyilván beállított magának, és mellette volt számos argumentum az erőforrásokra vonatkozóan. Utóbbi volt a többletterhelés forrása, mivel ezeket a argumentumokat minden rajzolási parancsnál be kellett állítani. A Metal 2-vel erre már nincs feltétlenül szükség, mivel a rajzolási parancsokhoz argumentum pufferek létrehozva előre kódolhatók az erőforrások. Ezáltal minden esetben, amikor az adott erőforrás bekötése szükséges, az már előre le van kódolva, és nem kell a processzort ezzel terhelni. Persze egyszer a kódolást nyilván meg kell csinálni, de ez így is sokkal jobb, mintha minden egyes rajzolási parancsnál megtörténne ez a munka. Sőt, compute módban maga a GPU is elvégezheti a kódolással járó munkát, így anélkül hozhat létre argumentum puffert, hogy ezzel a processzorra bármekkora terhelést is róna, emellett maga az argumentum puffer viszonylag szabadon menedzselhető, például egy pufferen belül létrehozható egy másik.

Az argumentum pufferekkel elérhető előny a rajzolási parancsokra levetítve ez iPhone 7-es eszközön
Az argumentum pufferekkel elérhető előny a rajzolási parancsokra levetítve ez iPhone 7-es eszközön [+]

A Metal 2 a fentiek mellett a virtuális valóság felé is nyit. Erre vonatkozóan bevezeti a viewport tömböket, és a fejlesztőeszközök a VR-ra is ki lettek gyúrva. Az Apple az Unreal Engine és a Unity videojáték-motorok fejlesztőivel dolgozik a VR és a Metal 2 implementálása szempontjából.


[+]

Végül újítás még a Thunderbolt 3-as, grafikus kártyákat fogadó külső házak támogatása, amelyek USB Type-C porton keresztül köthetők a MacBook Próhoz. Egészen konkrétan a Metal 2 kapott egy eszközválasztó API-t, így a fejlesztő képes detektálni az elérhető hardvereket és a megfelelő konfiguráción futtatni a programot. Annak érdekében, hogy az erre való átállás gördülékeny legyen az Apple elindított egy fejlesztői programot, amelyben benne van egy külső ház, ami egy AMD Radeon RX 580-as VGA-t rejt. Ezért 599 dollárt kell fizetni.


[+]

A programban résztvevők a HTC Vive-ból is árengedményt kapnak, ami sok fejlesztőnek jól jöhet. Az új macOS egyébként az AMD XConnect technológiát integrálja és erre vonatkozik gyári támogatás is.

Hirdetés

SENIOR PHP programozót keresünk

PR Üzleti logikához és ERP rendszerhez igazított egyedi e-kereskedelmi megoldások, webáruházak fejlesztéséhez SENIOR PHP programozót keresünk

  • Kapcsolódó cégek:
  • Apple

Azóta történt

Előzmények

Hirdetés