WARP 10: Direct3D softwarově

28. 11. 2008

Sdílet

 Autor: Redakce

Ve sci-fi světě Star Treku je warp 10 ekvivalentem nedosažitelné nekonečné rychlosti. WARP 10 v podání Microsoftu (zkratka WARP znamená Windows Advanced Rasterization Platform) je něco diametrálně odlišného – je to rozhraní pro rendering Direct3D grafiky pomocí x86 procesoru. Od softwarového renderingu samozřejmě nemůžeme čekat závratnou rychlost, avšak zejména vývojářům přijde WARP 10 vhod.

WARP 10 umí přes procesor emulovat Direct3D 10 a 10.1 a není nijak vázán na grafický akcelerátor. Pokud ten nepodporuje potřebnou verzi D3D, nejsou nainstalovány ovladače nebo z nějakého důvodu není výhodné jej přepínat do 3D módu, může programátor zavolat na pomoc WARP, aniž by musel psát vlastní softwarový renderer.

Jako minimální hardwarové požadavky pro WARP Microsoft uvádí procesor s taktem 800 MHz a 512 MB paměti. Rozšiřující instrukce jako MMX nebo SSE nejsou vyžadovány, WARP nicméně profituje z SSE2, SSE4.1 a více jader. Podle testů Microsoftu ve hře Crysis (rozlišení 800 × 600 px, nejnižší detaily) podávají čtyřjádra Intelu srovnatelný až lepší výkon, než nejmenované IGP Intelu s podporou Direct3D 10 (zřejmě GMA X4500). Server PCGamesHardware sestavil čísla do přehledného grafu:

Přestože žádný z testovaných procesorů nedokáže poskytnout hratelné framerate, obecně je vidět, že WARP nejvíce vyhovuje Core i7, Phenomy s ním naopak poněkud zápasí. Vzpomenete-li si na Larrabee, to bude z velké části fungovat jako mnohojádrový x86 procesor provádějící softwarový rendering. Existence WARPu už v současné podobě vytrhává Intelu velký trn z paty. Intel sice hodlá pro Larrabee napsat ovladače, díky kterým se čip bude tvářit jako D3D/OpenGL akcelerátor, ale zároveň mu nic nebrání ukázat svou pravou tvář x86 procesoru a použít rozhraní WARP, bude-li to výhodné, nebo nebudou-li ovladače v dané hře správně fungovat.

DirectX ve Windows 7 přinese ještě jednu novinku, kterou opět uvítají hlavně vývojáři, ale která by mohla dopomoci vyššímu rozšíření her využívajících Direct3D 10 a novější. Díky „10Level9 driveru“ totiž nebude nutné psát kód zvlášť pro Direct3D 9 a 10, ale kód napsaný pro novější verzi API se automaticky převede do podoby srozumitelné hardwaru podporujícím pouze Direct3D 9. Pochopitelně výsledek nebude zcela totožný – tu a támhle bude nějaký efekt chybět a výpočet jiného bude náročnější.

bitcoin_skoleni

Betaverze rozhraní WARP 10 je součástí November 2008 DirectX SDK.

Zdroj: PCGamesHardware, podrobnosti: MSDN

Autor článku