artykuły

PhysX by NVIDIA – analiza techniki i testy praktyczne

Physikoterapia

183
10 września 2010, 14:20 Mieszko Krzykowski

Mafia 2

Mafia 2 to niejako prezentacja możliwości zapewnianych przez narzędzia: APEX Turbulence, APEX Clothes, APEX Destruction.

Po włączeniu dodatkowych efektów PhysX zyskujemy:

  • Realistyczne „palenie gumy”. Dym generowany przez obracające się w miejscu opony reaguje na siłę i kierunek wiatru, a także na otoczenie. Jeśli akceleracja PhysX jest wyłączona, dym spod kół nadal się wydobywa, ale jest on statyczny.
  • Symulacja ubrań. Nieodłącznym towarzyszem gangstera z lat 50. był prochowiec, spod którego można w razie potrzeby wyciągnąć BB Guna i wytłumaczyć komuś, że zaparkował w złym miejscu. Dzięki PhysX ubrania głównych postaci w grze (a także na przykład spódnice napotykanych w mieście kobiet) zachowują się trochę bardziej realistycznie: ich falowanie czy powiewanie to nie są statyczne animacje, a symulacja. Na dodatek ubrania reagują na wiatr i fale uderzeniowe wybuchów. Jeśli gracz stanie w prochowcu zbyt blisko wybuchającego samochodu, to efektownej eksplozji będzie towarzyszyło powiewanie szytego na miarę prochowca. Mniam.
  • Iskry, gruz i drzazgi. Nieodłącznym elementem gangsterskich filmów są strzelaniny odbywające się w miejscach, które stanowczo nie są do tego przeznaczone. Na co w czasie takich strzelanin decyduje się reżyser? Dużo latających w powietrzu rzeczy. Podobnie jest w Mafii 2 po włączeniu PhysX-a. Jeśli trafiamy kulą w cokolwiek, to towarzyszą temu iskry, drzazgi, strzępki papieru, kawałki szkła itp. Może się wydawać, że już to było we wcześniejszych grach. Ale jest pewna subtelna różnica. Środowisko, w którym się poruszamy, daje się niszczyć w bardzo dużym stopniu (nawet przy wyłączonych dodatkowych efektach PhysX). Gdy strzela się w kolumnę, odpada z niej zewnętrzna powłoka i ujawnia się zbrojenie, gdy strzela się w meble, mogą się one rozsypać, a strzelając w jakieś szklane konstrukcje, można je rozbić na kawałki. Jest tego sporo i jest to bardzo efektowne. Dzięki akceleracji PhysX na GPU wspomniane przed chwilą rzeczy naprawdę rozpadają się na wiele kawałków, które później zostają na ziemi. Dzięki temu w powietrzu ciągle latają kawałki czegoś, co miało nieszczęście być na przykład osłoną głównego bohatera, a po dłuższej strzelaninie w okolicy tworzy się istne śmietnisko. Pozwala to uzyskać bardziej filmowy klimat. Dzięki nietrwałej naturze otoczenia nie ma się wrażenia, że te wszystkie „śmieci” biorą się znikąd, tak jak w innych grach z PhysX.

PhysX-owi w Mafii 2 warto poświęcić trochę więcej uwagi, ponieważ naszym zdaniem jest to pierwsza gra, w której dobrze go wykorzystano. Dlaczego? Wcale nie przez rewolucyjność efektów, ponieważ wszystko, co znalazło się w grze, było już gdzieś wcześniej. Po pierwsze, nie ma się wrażenia, że coś tu zostało wciśnięte na siłę. Każdy użyty efekt ma jakiś sens i wpływa pozytywnie na odczucia płynące z rozgrywki – i brak każdego z nich jest odczuwalny, gdy zostanie wyłączony. Po drugie, nie ma sztucznych różnic, gdy gra się z wyłączonym GPU PhysX. Wszystko, co widzimy, gdy dodatkowe efekty PhysX są włączone, widzimy także wtedy, gdy są wyłączone. Nie ma znikających flag czy obłoków dymu, jak w innych PhysX-owych tytułach. One nadal są w grze, tyle że mniej „fajne” – statyczne i bardziej ubogie. Po trzecie, przez większość czasu można spokojnie grać z włączonymi dodatkowymi efektami, nawet jeśli nie ma się karty „GeForce with CUDA”. Wystarczy mocny procesor. Ale o tym trochę więcej powiedzą wykresy.


PhysX wył. CPU PhysX
GPU PhysX
Obciążenie procesora 62%
49%
50%

Testy wydajności

Skorzystaliśmy z wbudowanego w grę testu. Niezbyt się on nadaje do porównywania wydajności kart graficznych, ale dobrze prezentuje różnice w wydajności symulacji fizyki. W tym teście jest umieszczona „podrasowana” wersja jednej z misji występujących w grze, która obciąża obliczeniami związanymi z PhysX wszystko, co się da. Test niejako przedstawia najgorszy możliwy przypadek, chociaż nie jest on taki niespotykany. Podobne wyniki często można uzyskać w środku miasta, gdy po ulicach przechadza się sporo postaci, a zachowanie ich ubrań jest symulowane przez PhysX. Nie podajemy minimalnej liczby klatek na sekundę, ponieważ benchmark podaje w tym przypadku dość dziwne wyniki.

W przeciwieństwie do innych PhysX-owych tytułów w Mafii 2 przez większość czasu spokojnie można grać bez akceleracji fizyki przerzuconej na kartę graficzną. Wydajność procesora przeważnie w zupełności wystarcza. Jedynie w bardziej drastycznych przypadkach płynność animacji może na chwilę wyraźnie spaść. Do grania nie jest konieczna dodatkowa karta wspomagająca PhysX, bo model pokroju GeForce'a GTX 460 świetnie sobie radzi z liczeniem grafiki i fizyki jednocześnie (szczególnie po wyłączeniu bardzo „kosztownego” w tej grze wygładzania krawędzi). Dodanie nawet dość słabego GeForce'a 8600 GT poprawi płynność animacji; w większości przypadków powinno być ponad 30 kl./s. Na dodatek, jeśli ktoś nie ma GeForce'a GTX 480, to nie potrzebuje żadnej wydajniejszej karty do obliczeń fizycznych niż 8600 GT, ponieważ i tak ograniczeniem będzie wydajność renderowania grafiki, a nie symulowania fizyki.

6