Gyorskeresés
Az AMD elindult a DirectX 11 ösvényén
Grafika felsőfokon, avagy górcső alatt az új generációs Radeon HD 5800 felépítése.
Hirdetés
DirectX 11
A DirectX 11-be a Microsoft számos új funkciót épített be, melyekkel további sebesség nyerhető. A fejlesztők beszámolója szerint a tesszellátor a legfontosabb újítása a rendszernek, ám komoly lehetőségek vannak a compute shaderben is. Előbbi eljárást már a fentebb linkelt cikkben teljesen kiveséztük, így koncentráljunk az utóbbi funkcióra. A compute shader segítségével a programozók olyan programokat írhatnak, melyek a grafikus processzor erejét általános számításokra hasznosítják. Természetesen a programok és a fejlesztői platformok folyamatosan érkeznek majd a gyártófüggetlen rendszerre. A cikkünk fő témája azonban a grafika fejlődése, így elsősorban a funkció képminőségre vonatkozó hatásait vizsgáljuk.
A DirectX 11 futószalagján a compute shader a pixel shader úgymond független mellékágának tekinthető. Ez gyakorlatilag azt jelenti, hogy a grafika szempontjából a majdnem kész képen lehet vele módosításokat végrehajtani. Tulajdonképpen mondhatjuk azt, hogy az egyes pixel shader kódokat mostantól érdemes compute shaderben írni, hiszen maga a programnyelv számos előnyös újítást kínál, továbbá visszafelé kompatibilis egészen a DirectX 10-es kártyákig. Itt azonban meg kell jegyezni, hogy az egyes funkciók között különbségekkel kell számolni. Erről az alábbi táblázat ad felvilágosítást:
| Microsoft DirectX 11 |
|||
| Compute Shader 4.0 |
Compute Shader 4.1 | Compute Shader 5.0 | |
| Szálakhoz rendelt memória |
16 kB | 16 kB | 32 kB |
| Helyi adatmegosztás |
nincs | nincs | van |
| Memóriamegosztás | 256 byte (csak írás) | 256 byte (csak írás) | 32 kB (írás/olvasás) |
| Szálvezérlési forma | kétdimenziós | kétdimenziós | háromdimenziós |
| Futtatott szálak száma |
768 | 768 | 1024 |
| Gather4-támogatás |
nincs | van | van |
| Atomi művelet | nincs | nincs | van |
| Dupla pontosság | nincs | van | van |
A compute shader 5.0 legnagyobb előnyének a helyi feladatmegosztás (Local Data Share) számít, ami a különböző folyamatszálak közötti memóriamegosztást teszi lehetővé. Ezzel a megoldással a textúrázó csatornák több esetben is felmenthetők a munka alól, hiszen jó esély van rá, hogy a szükséges adat egy korábbi mintavételezés alkalmával létrejött. A felesleges munkától megkímélve a rendszert az algoritmusok számítási sebessége akár a háromszorosára is gyorsítható. Ez a teljes képkockára levetítve 15-25%-os gyorsulást jelenthet a DirectX 10.1-es módhoz képest. Itt fontos megjegyezni, hogy a compute shader 4.1 és 5.0 támogatja a Gather4 utasításokat is, amelyekről már tudjuk, hogy egy mintavételből négyszer annyi adatmennyiséget generálnak. Ez majdnem négyszeres gyorsulás a DirectX 10-es kódhoz képest, ami a gyakorlati tapasztalatok alapján 20-25%-kal sebesebb képkocka-feldolgozást eredményez. A párhuzamosan futtatott szálak száma is megnőtt a DirectX 11-ben, így ezen a fronton is lehet nyerni némi teljesítményt.
A compute shader természetesen nem csak sebességben előnyös. Az atomi műveletek alkalmazása nagymértékben megkönnyíti a fejlesztők munkáját, továbbá rengeteg programszál problémamentes futtatását teszi lehetővé. Az atomi műveletek bevezetésére már régóta várnak a programozók, ugyanis a grafikus processzorok rengeteg, mondhatni több száz programszálat futtatnak párhuzamosan. Ilyen körülmények mellett aránylag sűrűn előfordulhat az az eset, amikor egy vagy több programszál ugyanazt a változót próbálja kezelni, vagy azonos memóriacímet kísérel meg elérni. Ezek a problémák természetesen hibás feldolgozást eredményezhetnek az úgynevezett korrupt adatok miatt. Ilyen esetben a programozónak át kellett alakítania az egyik algoritmust, hogy elkerülje a jelenséget, rosszabb esetben pedig soros műveletvégzést kellett alkalmazni a megosztott változók, illetve a memória eléréséhez. Utóbbi elgondolás természetesen hatalmas probléma, hiszen kiüti a párhuzamos feldolgozást, ami esetenként komoly teljesítményveszteséget eredményez. Az atomi műveletekkel lehetőség van az előbbi problémát úgy kezelni, hogy a párhuzamos feldolgozás megfelelően legyen végrehajtva.
Aminek mindenki örülni fog
A DirectX 11 az első API, amelyik támogatja a többszálú feldolgozást, azaz az objektum megrajzolásához szükséges rajzolási parancsok és az effektek létrehozásánál bekövetkező állapotváltások már nem csak egyetlen processzormagon lesznek végrehajtva. Az új rendszer természetesen a régebbi, minimum DirectX 10-es grafikus kártyák mellett is működik, csupán egy szoftveres frissítés szükséges. A funkciót az AMD és az NVIDIA már korábban beépítette a Windows 7 és Vista operációs rendszerekre telepíthető driverekbe. Érdemes megjegyezni, hogy a többszálú feldolgozást a DirectX 11-es kódhoz optimalizálták, így a hatékonyság szempontjából a régebbi rendszerek némi hátrányt szenvednek.
Nincs ellenérv
A Microsoft szerint a DirectX 10-nek egy hibája volt: nem kompatibilis a DirectX 9-cel. Ennek köszönhetően a fejlesztőnek gyakorlatilag két API-t kellett támogatnia. Ezenkívül érdemes megjegyezni, hogy az API nem volt elérhető a jó öreg Windows XP-re, és a Vista sem terjedt megfelelő mértékben, ami a legtöbb programozót választás elé állította. Nos, a DirectX 11 a WDDM (Windows Display Driver Model) hiányában továbbra sem telepíthető XP-re, azonban a fejlesztők problémáját megoldotta a redmondi óriáscég. Az új API ugyanis hat futtatási szintet támogat:
-
D3D_FEATURE_LEVEL_11: értelemszerűen ez a szint mindent tud, így nincsenek korlátozások.
-
D3D_FEATURE_LEVEL_10_1: DirectX 10.1-es kártya esetén jön létre.
-
D3D_FEATURE_LEVEL_10: a DirectX 10-es kártyával ebben a módban fut a kód.
-
D3D_FEATURE_LEVEL_9_3: a shader modell a 3.0-s kártyákat támogatja, azaz ideális a GeForce 6 és 7, valamint a Radeon X1000 szériához.
-
D3D_FEATURE_LEVEL_9_2: speciális szint, kifejezetten a shader modell 2.0-s Radeon termékekhez.
-
D3D_FEATURE_LEVEL_9_1: az összes fentebb nem említett DirectX 9-es grafikus chip ide tartozik, beleértve a GeForce FX-et is.
Az előbb tárgyalt hat erőforrás automatikusan, a program indulásakor jön létre a számítógépben talált hardvernek megfelelően. Ez azt jelenti, hogy a programozónak elég a DirectX 11-es kódot megírni, és az API minden mást kezelni fog, azaz a kódban szereplő nem kompatibilis utasításokat és funkciókat egyszerűen nem futtatja. Ezzel a módszerrel a fejlesztők mindenkinek az igényét kielégíthetik, és még a befektetett munka is jelentősen csökkenthető.
A cikk még nem ért véget, kérlek, lapozz!
Azóta történt
Computex 2010: működik az AMD Fusion
A professzionális kártyák piacán is bemutatkozik a Cypress
Végre befutott a Radeon HD 5830
-
Bemutatkozik a Radeon HD 5670
Már nem is olyan drága a DirectX 11: a legújabb API támogatását már 25 000 forintért megkaphatjuk.
Innováció NVIDIA-módra
Extrém tuningos Radeon készül a Gigabyte műhelyében
A Radeon HD 5000 család megszállja a mobil vonalat is
-
Radeon HD 5870
Az AMD 2,15 milliárd tranzisztoros GPU-ja köré épülő szörnye tette tiszteletét nálunk.
Előzmények
Itt az AMD Radeon HD 5800 sorozat
Az NVIDIA szerint a DirectX 11 nem dobja majd meg az eladásokat
-
Vérfrissítés mindkét gyártónál
Az AMD és az NVIDIA tovább ráncigálja egymás bajszát. Leteszteltük a Radeon HD 4890-et és a GeForce GTX 275-öt.
-
Betekintés a VGA-jövőbe
Elméleti írásunkban azt vizsgáljuk, merre tart jelenleg a grafikus technológia fejlődése.
-
GT200, RV770 - felbolydul a VGA-piac
Részletesen bemutatjuk az AMD új grafikus chipjét és a rá épülő Radeon HD 4850 kártyát, illetve teszteljük az NVIDIA GeForce GTX 260-at és 280-at.
Percről percre
Dead Space 3 - képek
Az új képek tanúsága szerint erős koop támogatá...
Lumia 900 Dark Knight – 900 példányban
A finn gyártó Batman témájú Windows Phone csúcs...
Van Helsing a Neocore-tól
A hazai illetőségű Neocore a King Arthur után m...
Készül a Google ASUS Nexus 7
A Rightware Power Board adatbázisában is felbuk...
EU-s felmérés készült a szolgáltatók p2p-korlátozásáról
Az önkéntesen megadott adatok szerint a szolgál...
Galaxy Pocket - zsebibaba
Megérkezett szerkesztőségünkbe a Samsung legolcsóbb androidos mobilja, amely még így is kicsit drágább a tudásánál.
Win7: cégeknek megéri váltani
Alacsonyabb IT- költséggel és jobb terméktámogatással csábít az új rendszerre a redmondi vállalat.
Sony Xperia U - a kis herceg
Az új Xperia család legkisebb tagja a 3,5 hüvelykes kijelzővel szerelt U, mely úgy néz ki, mint nagyobb testvérei. Kellemes.





