Pokročilá architektura počítačů
Technologie „PhysX“
Jan Lukáč LUK145
Sony PlayStation 2 – Emotion Engine První krok do světa akcelerované fyziky učinily pro mnohé velmi překvapivě herní konzole. Sony Playstation 2 měla ve své době Emotion Engine procesoru rovnou dvě jednotky pro zpracovávání vektorů (VPU – Vector Processing Unit), kde první každá z nich disponovala 32 128-bitovými registry, v nichž se překvapivě ukládaly soubory 32-bitových instrukcí a nikoliv 128-bitových. Emotion Engine tak nebyl 128-bitovým procesorem, jak se někdy mylně uvádělo.
Obě vektorové jednotky měly odlišný úkol, první fungovala jako koprocesor hlavního procesoru MIPSIII a druhá jednotka fungovala jako plně samostatný geometrický procesor (SIMD/WLIV). K akcelerátorům fyzikálních efektů, jak dnes tuto oblast převážně chápeme, je tedy funkce vektorových jednotek v Emotion Engine na hony vzdálená.
Havok FX – velká očekávání, chabý výsledek Tento fyzikální engine byl ohlášen už v roce 2005 a sliboval nám ohromující kolize a milióny dynamických předmětů ve hře. Myšlenka byla postavena na tom, že druhý přídavný grafický akcelerátor bude počítat samostatně pouze fyziku. Prezentace a technologická dema vypadaly megalomansky. Útočily na nás skrze stovky plovoucích kachen ve vaně nebo simulaci milionů různého harampádí, s kterým jsme si mohli hrát. Bohužel ani jedna jediná hra nebyla schopna ukázat, proč si vlastně druhý slot máme pro akcelerátor fyziky alias druhé GPU vyhradit.
Tehdejší hry nemohly ještě ani vzdáleně uvažovat o složitých modelech kolizí a zničitelných objektech, takže potřeba výkonu pro akceleraci fyziky nebyla vysoká a nikdo nebyl zvědavý na to, aby mu hučela v útrobách počítače další karta, která by většinu času pouze zahálela.
Tento projekt měl podporu u ATI i Nvidie, i když každá z firem Havok otevřeně propagovala v jinou dobu. Je pravděpodobné, že za neúspěchem Havoku FX stojí Nvidia, která už v té době začala spekulovat s možnostmi společnosti Ageia a PhysX. ATI naopak setrvala na Havoku FX přesně do té doby, než byla odkoupena AMD. Nikdy však neměla finální řešení pro akceleraci fyziky.
Ageia PhysX – neúspěšný obchodní model Ageia pracovala na svém akcelerátoru PhysX již několik let před jeho uvedením a finální produkt byl přinejmenším rozpačitý. Faktem ovšem zůstává, že se jednalo o první fungující řešení pro akceleraci fyziky vůbec. PhysX byl přídavnou kartou do slotu PCI, takže fanoušek řešení jako je SLI nebo CrossFire (v té době nepoužitelné) mohl využít maximálního grafického výkonu a fyziku akcelerovat zvlášť. Otázkou ovšem bylo kde! Neexistovala opět ani jediná hra, která by potenciál dokázala využít, a navíc byl samotný hardware v podobě PhysX přídavné karty příšerně drahý. Pokud je něco drahé a nepoužitelné, tak je to logicky odsouzeno k fiasku. Samotný PhysX nebyl špatný, i když výkonem je dnes při akceleraci fyziky podobný spíše mainstreamovým kartám na úrovni GeForce 7600.
Otázkou zůstává, co vlastně bylo na PhysX tak drahé, že jste si ho mohli koupit pouze v jakémsi záchvatu nesvéprávnosti za 8 tisíc korun. Samotná karta měla jednoduché PCB a byla osazena 128 MB DDR paměti na 366 MHz. Čip byl vyráběn 130nm technologií a pracoval na tehdy vysokém taktu 500 MHz (vzhledem k výrobnímu postupu). Perličkou byla interní datová 2Tb/s, což několikrát převyšovalo tehdejší akcelerátory grafiky od ATI a Nvidie. Náklady na vývoj prvního PPU (Physics Processing Unit) byly pravděpodobně obrovské a Ageia nestačila zvládnout podporu vývojářů her. Ambiciózní projekt neuspěl, ale položil základy pro další vývoj.
Nvidia pochopila, že s dalším přídavným hardwarovým akcelerátorem díru do světa neudělá, a tak bylo už od počátku jasné, že využije výpočetní kapacity svých grafických jader pro akceleraci her, kde je podporován PhysX. Hardware tedy společnost netrápil a bylo důležité zapracovat na jediné věci, která mohla grafickým kartám GeForce otevřít zamknuté dveře k akceleraci fyziky. Tou věcí nebylo samozřejmě nic jiného než ovladače ForceWare. Bylo nutné, aby PhysX mohly akcelerovat všechny poslední série grafických karet, aby si PhysX získal dostatečnou pozornost herních vývojářů. Nvidia se tedy rozhodla, že PhysX bude zpřístupněn všem majitelům sérií GeForce 8/9/GTX, což je dostatečný důvod pro zamyšlení pro v současnosti vyvíjené hry. Protože muselo být respektována možnost všech rozlišení a zvýšených nároků na použití náročných metod, jako je vyhlazování a DirectX 10, připravila Nvidia několik různých módů fungovaní PhysX. • • •
Standardní – jedna grafická karta akceleruje grafiku i fyziku, což není ideální vzhledem ke slabším grafickým kartám SLI mód – obě grafické karty akcelerují fyziku i grafiku Multi GPU mód – jedna grafická karta akceleruje grafiku (zpravidla silnější) a druhá karta akceleruje fyziku
Výhodou tohoto rozdělení na několik možných způsobů provozování PhysX je například možnost nasazení starší grafické karty (GeForce 8800GT) na výpočty fyziky místo toho, aby šla za pár korun do bazaru a zbrusu nová GeForce GTX260 se může postarat o akceleraci grafiky. Jedinou vadou tohoto vpravdě geniálního tahu je eventuální absence druhého slotu pro grafickou kartu na základní desce. Podobný systém má ovšem také jistou nevýhodu. Pokud si v počítači necháme například starší GeForce 8800GT pro akceleraci fyziky, tak musíme počítat s mnohem větším odběrem celého systému. To může znamenat ve spojení s výše uvedenou GeForce GTX260 stálý odběr v případě zátěže kolem 400 W, a to už znamená pro většinu uživatelů upgrade zdroje za model okolo 650-700 W. Slabší zdroje by mohly být dlouhodobě přetěžovány.
Závěr PhysX nyní v zeleném trikotu Nvidie je fungující technologií, kterou čeká velká budoucnost v herním průmyslu, pokud vše půjde tak, jak si Nvidia naplánovala. Přechod na hry akcelerované skrze grafické karty společnosti Nvidia mohli vývojáři plánovat hodně dlouho předtím, než bylo pro veřejnost skutečně jasné, s čím Nvidia vyrukuje dnes, v roce 2008. Elegantnost řešení Nvidia PhysX je zcela zjevná. Je zde přítomna již nějaký ten pátek a k akceleraci her využívajících tento engine není třeba žádný další hardware než ten, který máte již v s trochou štěstí v počítači. Pro potencionální kupce grafické karty nebo rovnou celého systému pak může PhysX znamenat jasný stimul a příslib akcelerace v budoucích herních titulech. Podle prvních ohlasů se zdá, že Nvidia zvládla implementaci ovladače PhysX do svých ForceWare velmi dobře. Soudit reálné použití této technologie ovšem budeme moci uskutečnit až v momentě, kdy na trhu budou reálné tituly masivně využívající PhysX. Pokud budou jasně patrné přínosy akcelerace fyziky v oblíbených hrách a nejen na samotných technologických demonstracích, bude moci Nvidia vyvěsit vlajku na dobyté hoře AMD/ATI stále přešlapují, jako by snad měli přehršel času s Intelem spekulovat nad tím, jak se vlastně k Havoku postaví. Pod značkou ATI je sice v současné době nejvýkonnější karta Radeon HD4870 X2 a rovněž povedená série Radeon HD4800, ale pro ATI je tento úspěch jen nadechnutím nad hladinou a rozhodně ne důvod k domněnkám, že do příchodu dalšího čipu není co řešit. Pokud hardwarová akcelerace fyziky pro ATI bude znamenat až další generaci grafických čipů, může jít AMD směle dražit tuto svou divizi na eBay.