Az NVIDIA is írt egy jó kiterjesztést a Vulkan API-hoz.

Február közepén számoltunk be arról, hogy ténylegesen elkészült a Vulkan API, és már akkor lehetett tudni, hogy a gyártók kihasználnák, hogy számos specifikus kiterjesztést tervezhetnek a rendszerhez. Az első, core specifikációknak megfelelő kiterjesztést az AMD jelentette be, amelyről az alábbi oldalon írtunk, és most az NVIDIA is előállt egy ilyen konstrukcióval, amely legalább annyira hasznos, mint az AMD megoldása.

Hirdetés

A VK_NV_dedicated_allocation névre hallgató kiterjesztés azokat a hardvereket célozza, amelyek hatékony színtömörítési technológiákkal dolgoznak. Ezek mellett ugyanis gond lehet abból, hogy az eszköznek a memóriaallokáció szempontjából támogatnia kell a memóriatöredezettséget, illetve a virtuális textúrázásnál használt szórványos bekötést. Ez önmagában nem okoz programhibát, tehát a működés mindenképpen garantált, de a probléma ott keletkezik, hogy például a képkockapuffernek nem kötelező folytonos címtartományt lefedni, vagyis önmagában ez is lehet töredezett, több címtartományból álló erőforrás. Ugyanez igaz más hasonló képi adatokra vonatkozó pufferekre is, ami azt jelenti, hogy a színtömörítési technológiák vesztenek a hatékonyságukból, mivel ezek akkor működnek igazán jól, ha az adott puffer folytonos címtartományba kerül. Ezt a korábbi API-knál a meghajtó megoldotta, de a Vulkan API-val nincs garancia a folytonos címtartományra, mivel az alkalmazás feladata a memória kezelése. Emiatt az alkalmazásban is kell megoldani a problémát.

A fenti kiterjesztés tulajdonképpen lehetővé teszi a fejlesztőknek, hogy a nagyméretű erőforrásokat folytonos címtartományba mentsék el, ezzel biztosítva a színtömörítési technológiák megfelelő hatékonyságát, illetve a laptábla hatékony működését. Emiatt az említett erőforrások kezelése gyorsabb lesz.

Hasonlóan az AMD kiterjesztéséhez az NVIDIA konstrukciója is igen általános, és tulajdonképpen bármelyik gyártó támogathatja, mivel semmiféle specifikus hardveres igényt nem támaszt.

Egyelőre persze a támogatás csak a Maxwell és a Pascal architektúrára épülő GeForce-okon lehetséges a legfrissebb meghajtóval, de ez nagyrészt annak köszönhető, hogy a többi gyártónak még nem volt ideje a kiterjesztést megvizsgálni.

Azóta történt

Előzmények

Hirdetés