Rozhovor o PhysX a praxe s druhou kartou

17. 9. 2008

Sdílet

 Autor: Redakce

Rozhovor s Manju Hegdem, šéfem PhysX v Nvidii


Manju Hegde
Manju Hegde založil společnost Ageia a byl také jejím CEO. Ageia vyvinula v současnosti stále nejpokročilejší fyzikální engine pro hry a současně první PPU (fyzikální akcelerátor). Ageia byla koupena společností Nvidia a Manju Hegde se stal vice-presidentem pro PhysX v jedné z největších IT firem.

ExtraHardware: Jaké jsou příčiny velmi podobného výkonu GeForce 9800 GTX+ (128 stream procesorů) a GeForce GTX 280 (240 stream procesorů na o něco nižším taktu), když testujeme herní výkon s PhysX?

Manju Hegde: Musíte si uvědomit, že od akvizice Ageia společností Nvidia a prvním ukázkám PhysX na GPU uplynul velmi krátký okamžik. V podstatě programátoři stihli PhysX přepsat pro GPU za tři měsíce, což považuji za obrovský úspěch. Je jasné, že zvlášť u her, pro které je GPU PhysX dopracováno zpětně a v této rané fázi není vše optimální a to je i důvod, proč potenciál GeForce GTX 280 není v současných testech plně využit.

ExtraHardware: První otázka ohledně Multi-GPU PhysX. Když si dnes koupíte GeForce 9800 GX2, nebude to náhodou lepší řešení než GeForce GTX 280 právě kvůli PhysX? V titulech s PhysX vypnete SLI a na jedné v podstatě jen níže taktované GeForce 8800 GTS-512 počítáte grafiku a na druhé fyziku? Neznamená to zvýhodňování staršího produktu před novým a to právě kvůli PhysX?

Manju Hegde: Tohle ale zdaleka nemusí platit obecně a také obecně neplatí. Vše se odvíjí od toho, jak náročná fyzika v konkrétní hře bude a jaký bude poměr náročnosti fyziky a grafiky. Pokud se bude jednat o hru, kde bude docházet k nějaké opravdu náročné simulaci chování částicových systémů, pak ano, máte pravdu v tom, že 9800 GX2 tam může být rychlejší než novější GTX 280. V mnoha případech to ale zase může být naopak. Je to tedy závislé čistě na obsahu toho kterého titulu.

ExtraHardware: Díky možnosti Multi-GPU PhysX prakticky na jakémkoli čipsetu mnoho lidí plánuje koupit si nějakou levnější GeForce do druhého PCIe ×16 slotu pouze na fyziku. Můžete takovým uživatelům poradit, která karta bude pro takový účel optimální? Jinými slovy, nejlevnější GeForce, která bude stačit na akceleraci PhysX ve hrách alespoň rok dopředu? Bude například GeForce 9600 GT dedikovaná pouze pro PhysX (v nejnáročnějším nastavení) na hry, co vyjdou v následujících 12 měsících?

Manju Hegde: Já samozřejmě doufám, že ne (smích). Logicky bychom chtěli s vývojáři dosáhnout škálování PhysX i na vyšší modely Nvidia. Nemůžu dopředu odhadovat nasazení a komplexnost PhysX v herních titulech, nezapomeňte, že před pár měsíci jsme o GPU PhysX teprve jen uvažovali. Ale pro všechny, kdo vyměňují svoji stávající GeForce (která už umí CUDA) za novou kartu typu GeForce GTX 280/260, mám jednu radu: ještě si tu kartu někde doma nechejte.

ExtraHardware: A co G92 (GeForce 8800 GT a vyšší), ta stačit bude?

Manju Hegde: Opravdu nemůžu věštit o náročnosti PhysX v připravovaných hrách.


Ne, že bych Manju Hegdeovi všechno věřil...

ExtraHardware: Ale vždyť vývoj hry trvá měsíce, spíše rok a vy s herními studii při vývoji spolupracujete, přece nechcete říct, že o tom nic nevíte…

Manju Hegde: Ano, vývoj hry trvá celé roky, ale implementace PhysX do ní je mnohem rychlejší, vždyť se podívejte teď na zpětné dopracování PhysX do některých her nebo čas potřebný k přepsání PhysX pro GPU.

PC_SPACE: Plánujete nějakou podporu akcelerované PhysX pod Windows Vista v případě, že jako grafická karta je tam ATI?

Manju Hegde: Pro tyto uživatele pořád existuje možnost koupit si Ageia PhysX PPU.

PCtuning: Co když by společnost AMD chtěla PhysX adoptovat pro své Radeony? Jak může licenci získat?

Manju Hegde: Je jasné, že taková jednání nemůžeme předem veřejně předjímat. V základě jsme ale co se týče PhysX otevření, přístupní. Momentálně nemáme žádný obchodní důvod s AMD o PhysX jednat. Bude-li nějaká nabídka na stole, můžeme o tom teprve začít přemítat.

ExtraHardware: Bude hra Far Cry 2 používat PhysX?

Manju Hegde: Toto nemůžeme komentovat. Obecně platí, že oznámení týkající se nějakých her lze činit, až si to přeje i společnost za danou hrou stojící.

Custom PC, PCtuning: Co vy a Microsoft? Jste s touto společností ve spojení ohledně fyziky a obecného API, třeba zahrnutí PhysX do DirectX 11?

Manju Hegde: S Microsoftem je v neustálém kontaktu samozřejmě celá Nvidia a byly jsme i my (jako Ageia) už při vývoji PhysX API v roce 2004. Sami nejsme ale rozhodnuti, zda zahrnutí PhysX v DirectX 11 či dalším je správnou cestou, zatím nám stačí PhysX na kartách podporujících CUDA. Vše ostatní se uvidí až časem.

ExtraHardware: Hra Ghost Recon Advanced Warfighter 2 vám už při instalaci sama na počítač nahraje PhysX System Software verze 7.xx.xxx. Pokud poté hned benchmarkujete třeba Radeon HD 4850 v této hře, dostanete například v 1680 × 1050 px s anti-aliasingem kolem 40 fps. Když ale nainstalujete ForceWare 177.83 pro nějakou GeForce, v systému se vám PhysX Systém Software nahradí verzí 8.xx.xxxx. Vrátíte-li do systému Radeon a opět jej přo stejném nastavení benchmarkujete, obdržíte výsledek kolem 15 fps. Penalizuje nějak novější verze PhysX Radeony?

Manju Hedge: O takovém problému nevím. To se mi nezdá. (odpověď jsme dále hledali přes e-mail, viz níže)

Lihua Zhang: Klíčem bude zřejmě nepřepnutí se fyziky z High či Extreme na Normal (nemáte-li Ageia PPU či GeForce 8/9/GTX GPU, nemůžete si takové nastavení ve hře ani zvolit, PhysX je počítána přes CPU). Jedná se asi o bug hry, která navzdory tomu, co zobrazuje v menu, po spuštění na GeForce a následném spuštění na Radeonu nechá nastavenu extrémní fyziku a tu nemá Radeon jak akcelerovat. Zkuste tedy nejen srovnat snímkovou frekvenci, ale také provést vizuální srovnání. Zkuste například střílet pomocí zbraně, při fyzice Normal uvidíte pouze animovaný kouř, kdežto střelba a stopy po ní jsou při nastavení fyziky na High daleko realističtější.


Manju Hegde (vpravo) se statečně potýká s dotěrnými otázkami IT novinářů neustále se stáčejícími k Radeonům, Microsoftu a budoucím (nekomentovatelným) hrám. Zleva: Matuš Paculík z PC_SPACE, Václav Vlček z PCtuningu a Mirek Jahoda, ExtraHardware

Multi-GPU PhysX aneb druhá GeForce jen pro fyziku v praxi

Po dopsání článku o PhysX na ExtraHardware se většina uživatelů nejvíce zajímala o zmíněnou možnost použít nějakou levnější GeForce přímo a jen na fyziku (GPU PhysX). Původně jsme si mysleli, že prostě osadíte nějakou tu GeForce 9500 GT/9600 GT apod. do druhého PCIe ×16 slotu na jakékoli základní desce, která má alespoň dva, nainstalujete Nvidia ovladače 177.83 či novější, přes Ovládací panely vyberete jako PhysX zařízení tuto kartu a máte akceleraci.

Praxe je ale trochu komplikovanější, o nejvíce odhalení se postaral uživatel Lazar ve velmi výživném vlákně v našem diskuzním fóru (z něhož vytáhnu to nejdůležitější do následujícího textu). Poděkování si zaslouží i Fofrer, který mi zaslal screenshoty ze svých pokusů o zprovoznění GeForce 8800 GTS pro grafiku a GeForce 9500 GT v druhém slotu pro fyziku.

1. Pro PhysX potřebujete GeForce řady 8/9/GTX s alespoň 256 MB paměti. Stejné požadavky má i CUDA, tedy rozhraní, díky němuž je PhysX pro grafické karty (GPU) přepsána.

2. Dvou či více čipů GeForce v SLI zatím neumí PhysX správně využít, proto SLI vypněte a přes Ovládací panely si vyberte jednu kartu pro PhysX akceleraci (tu, která neposílá signál pro monitor).

3. Budete-li chtít zprovoznit kombinaci grafická karta ATI Radeon pro grafiku (primární) a Nvidia GeForce pro fyziku (sekundární), rozhodně neuspějete pod Windows Vista x64, dost pravděpodobně ani pod 32bitovou verzí. WDDM (Windows Device Driver Model) pod Windows Vista nedovoluje mít současně aktivní dva různé ovladače pro grafické karty.

4. Kombinaci ATI Radeon na grafiku a Nvidia GeForce na fyziku lze zprovoznit pod Windows XP. Důležitý je ale malý trik. Musíte rozšířit plochu i na GeForce a nastavit ji jako primární. V Ovládacích panelech nyní už můžete zvolit jako PhysX kartu GeForce. Poté přepněte zpět jako primární Radeon. Akcelerace PhysX na GeForce by měla zůstat zachována a Radeon jako primární zobrazovací zařízení se postará o grafiku. Bez rozšíření plochy a zvolené GeForce jako primární zůstává přepínací tlačítko zašedlé:

5. Kombinace dvou jakýchkoli GeForce (z toho tedy ta druhá dedikovaná pro fyziku musí být schopna PhysX, viz bod 1) by měla být bezproblémová na všech konfiguracích. Níže je příklad akcelerace fyziky pomocí GeForce 9500 GT ve druhém slotu (primární, tedy pro grafiku, je GeForce 8800 GTS).

Fluids Demo s PhysX přes GeForce 8800 GTS

bitcoin_skoleni

Fluids Demo s PhysX přes GeForce 9500 GT

Fluids Demo má minimální grafické zatížení a velmi nároky na fyziku. Je to jeden z příkladů, kdy má tedy daleko silnější GeForce 8800 GTS dostatek prostředků pro počítání PhysX a je daleko rychlejší než GeForce 9500 GT s pouhými 32 stream procesory. Ve hrách často může ale dojít k situaci, kdy bude mít GeForce 8800 GTS plné jednotky práce s grafikou a počítání PhysX (zřejmě méně náročné než ve specializovaném demu) přes GeForce 9500 GT se projeví jako skutečná akcelerace.