Hirdetés

Javít a szinkronizációs modelljén a Vulkan

A grafikus API új kiterjesztése régóta ismert gondot old meg.

A Vulkan szinkronizációs modellje az API első specifikációja óta alig fejlődött, ami önmagában nem gond, de a fejlesztők azért manapság nagyon panaszkodnak azokra a nehézségekre, amelyek az újszerű leképezőkkel előfordulhatnak. Explicit API-ról lévén szó a rendszer alapvető eleme a manuális szinkronizáció volt, ami egyrészt biztosította a jó sebességet, de mégis komoly fejfájást okozott a haladó programfejlesztők számára is.

Hirdetés

Az alapprobléma pár olyan tényezőből ered, amelyek szükségessé teszik az úgynevezett image layoutok kapcsán az elrendezésváltásokat. A felhasználási mód meghatározza, hogy a hardver memóriájában a kapcsolódó adatok hogyan vannak tárolva, sőt, még maguknak a hardvereknek az eltéréseit is figyelembe kell venni.

Mivel ebben a formában az adatok explicit kezeléséről van szó a megfelelő sebesség érdekében, a fejlesztőknek rengeteg munkát eredményezett a tárolt adatok megfelelő módon való elrendezése és szinkronizálása.

Ezt a gondot a Khronos Group megpróbálta kezelni pár frissítéssel, de a valóságban a szinkronizációs modell alapból nehézkes, miközben az újabb hardvereken már jobb megoldással is lehetne élni.

A Vulkan API a fentiek miatt kínálja fel a VK_KHR_unified_image_layouts kiterjesztést, ami az image layoutok kapcsán az elrendezésváltásokat egyszerűsíti le. Bár a munka ezekkel továbbra is manuális lesz, tehát az API megőrzi az explicit jellegét, így az ezzel járó sebességet is, az új specifikáció, a fejlettebb hardverek előnyeit kihasználva egyszerűsíteni tudta az adatok kezelését és szinkronizálását, ami végeredményben kevesebb elrendezésváltást tesz szükségessé.

Az új kiterjesztést az elmúlt években megjelent hardverek képesek támogatni, így elég jól ki lehet majd használni az előnyeit.

Hirdetés

Előzmények