Śladami magii Voodoo

Pierwsze układy z serii Voodoo okazały się przełomowe, ponieważ do czasu ich premiery większość obliczeń związanych z generowaniem grafiki 3D spoczywała na barkach jednostki centralnej komputera. A że ówczesne procesory miały bardzo niską wydajność, to i gry z tamtych czasów, patrząc z dzisiejszej perspektywy, były dość prymitywne. Aż tu nagle pojawił się układ, który nie dość, że trzykrotnie przewyższał pod względem możliwości obliczeniowych najszybszy wówczas procesor Pentium 100, to na dodatek generował grafikę o jakości porównywalnej z najlepszymi konsolami do gier. Nic więc dziwnego, że kości z serii Voodoo szybko zadomowiły się w pecetach i zapoczątkowały erę akceleratorów 3D i obecnych GPU (Graphics Processing Unit), czyli procesorów graficznych.

Akcelerator zawinił, CPU powiesili

Dynamiczny rozwój układów graficznych 3D w ciągu ostatnich kilku lat sprawił, że nawet najwydajniejsze procesory Athlon 64 i Pentium 4 znowu stały się wąskim gardłem dla najnowszych gier. Coraz bardziej rozbudowane wirtualne światy, przepełnione wyszukanymi, zadziwiającymi efektami 3D i inteligentniejszymi przeciwnikami, wyciskają siódme poty z CPU.

Tym razem procesory zajmują się jednak przede wszystkim fizyką gry, czyli wzajemnym oddziaływaniem na siebie wirtualnych obiektów, tak aby wszelkie interakcje między nimi wyglądały w sposób jak najbardziej realny. Zmienna pogoda, efekty związane z wybuchami, naturalnie wyglądające woda, skóra, włosy czy wreszcie zagniecenia na ubraniach noszonych przez wirtualne postacie – to wszystko musi liczyć dzisiejsza jednostka centralna.

Niestety, wydajność obecnych procesorów, biorąc pod uwagę wymienione przed chwilą zadania, nie jest zbyt duża. Co gorsza, moc obliczeniową CPU dzieli się między wiele różnych procesów, np. obsługę gry, sieci i systemu operacyjnego. Sytuację tę z pewnością poprawią dwurdzeniowe kości Intel Pentium D i Athlon 64 x2, których pierwsze egzemplarze trafiają właśnie na rynek. Dzisiejsze gry co prawda nie potrafią jeszcze skorzystać z dobrodziejstw dwu­rdzeniowej jednostki centralnej, ale wkrótce ma się to zmienić, m.in. wraz z premierą Unreala 3. Gra ta będzie bowiem umiała wykorzystać całą wydajność dwurdzeniowego procesora. No dobrze, ale takich gier jak wspomniany Unreal 3 zacznie wkrótce przybywać i szybko okaże się, że drugi rdzeń na niewiele się zda i trzeba będzie sięgnąć po kolejny, a później jeszcze jeden i jeszcze jeden… Nie tędy droga!

Sposób na procesor

Dzisiejszy CPU jest w stanie w czasie rzeczywistym zająć się w grze około setką reagujących między sobą wirtualnych obiektów. Dwurdzeniowy procesor może, w zależności od optymalizacji kodu programu, co najwyżej kilkakrotnie zwiększyć tę liczbę, przy założeniu że drugi rdzeń będzie zajmował się wyłącznie fizyką gry. A gdyby tak zbudować procesor do zadań specjalnych – obliczeń efektów fizycznych w grach?

Powyższy pomysł ujawnili niedawno światu inżynierowie z firmy AGEIA. Skonstruowali oni bowiem wyspecjalizowaną kość PhysX. Ten złożony ze 125 milionów tranzystorów PPU (Physics Procesor Unit) według jego twórców może jednocześnie śledzić wzajemne oddziaływania między 30-40 tysiącami obiektów – aby zająć się tyloma obiektami, zwykły procesor musiałby składać się z co najmniej kilku jąder. Co więcej, każdy “pilnowany” przez PhysX-a obiekt zareaguje zawsze na wirtualne zdarzenia, np. kolizję, tak samo jak jego odpowiednik w rzeczywistym świecie!

Zastosowania PhysX
Co wspomaga procesor PhysX w grach:

  • dynamikę ciał sztywnych (m.in. realistyczne kruszenie murów wraz z rzeczywistym zachowaniem się szczątków po eksplozji),
  • analizę elementów skończonych (np. realistyczna strefa zgniotu pojazdów i odkształcenia osłon),
  • dynamikę ciał elastycznych (zachowanie się obiektów galaretowatych),
  • dynamikę płynów (np. przemieszczanie się lawy),
  • symulację zachowania drobnych elastycznych obiektów (m.in. zachowanie się włosów na wietrze),
  • symulację ubrań (fałdy i zagniecenia na materiale),
  • detekcję zderzeń (interakcyjne oddziaływanie otoczenia).
  • Więcej:bezcatnews