Wydajność kart graficznych, a jakość grafiki w grach
23.11.2010 21:44
Karty graficzne z roku na rok stają się coraz wydajniejsze. Ba, niemalże co roku pojawiają się na rynku nowe rodziny kart graficznych, zwykle o wiele wydajniejsze od poprzednich, "rewolucyjne".
Przytaczając historię nVidii: GeForce Fx 5xxx - Rewolucja: DirectX 9.0 GeForce 6xxx - Rewolucja: DirectX 9.0c (Shader Model 3.0, HDR) GeForce 7xxx - Rewolucja: Lepszy AA GeForce 8xxx - Rewolucja: CUDA, PhysX, DirectX 10.0 (Shared Model 4.0), Zunifikowane Shadery ... GeForce 8xxx (G92) - Rewolucja, a raczej ewolucja: polepszona wydajność Geforce 260‑285 - Rewolucja: wyższa wydajność, prawie podwojona ilość shaderów GeForce 210‑240 -Rewolucja: DirectX 10.1 GeForce 4xx - Rewolucja: DirectX 11, Teselacja, gigantyczna wydajność oblicznieniowa GeForce 5xx - Ewolucja: polepszona wydajność
Prawie każda rodzina kart miała przynieść "fotorealistyczną" grafikę, piękne efekty oraz ogromną wydajność
Jak to się ma do gier? No ni jak! Grafika w grach od jakiegoś czasu stoi w miejscu, jeśli się polepsza to bardzo powoli. Kilka lat temu twórcy gier komputerowych na tyle sprytnie manipulowali obrazem, że pomimo wiele gorszej wydajności kart graficznych oraz ograniczonych technologi potrafili tworzyć obraz w grach który potrafi do teraz jeszcze przyciągnąć gracza.
Jako pierwszy przykład przytoczę NFS Underground. Nie była to gra reklamowana jako rewolucyjna pod względem grafiki, a do teraz jeszcze trzyma poziom. NFS Underground został wydany w 2003 roku, czyli 7 lat temu. To dosyć długi okres jak na branże komputerową. Nie wykorzystywał zaawansowanych technik. Był grywalny nawet na takich z dzisiejszego punktu widzenia zabytkach jak GeForce 4, który obsługiwał tylko DirectX 8. Wydany rok później Underground 2, mimo wyższych wymagań (chociaż i tak nie dużych) oferował jeszcze lepsza grafikę. Moim subiektywnym zdaniem grafika z tamtych gier miała coś w sobie, była po prostu ładna.
Drugim przykładem będzie legenda - FarCry. Grafika bajeczna, piękna, majstersztyk twórców. Dziś pewnie żadna niskobudżetowa gra nie powstydziła by się takiej grafiki. Grafika z CryEnergine polepszona o wyższej jakości tekstury (odpowiednie do ilości zainstalowanej na kartach pamięci) , efekty (które zresztą zostały wydane w patchu: HDR itp) była by nawet dziś konkurencyjna.
Wisienką tamtych czasów moim zdaniem może być Max Payne 2. Posiadał zadowalającą grafikę - nawet dziś nie odstraszającą specjalnie - oraz nawet jak na tamte czasy niskie wymagania. Wykorzystywał kilka technologi: PS 1.1, silnik Havok - które faktycznie wprowadzały rewolucję w grafice.
Dziś 7 lat później od tych gier, kiedy nawet przeciętna karta graficzna posiada gigantyczną wydajność w porównaniu z kartami tamtych czasów (przykład FX 5900: 22 GFlops vs. 480 2017 GFlops), cały arsenał technologi niewiele się grach zmieniło. Nie można powiedzieć że nic, bo to było by kłamstwo, ale w porównaniu z rozwojem kart graficznych niewiele się zmieniło.
Rewolucja ostatnich lat Crysis - wymaganie kosmiczne, grafika ładna. Ale czy na pewno? Jest klka efektów: ładna woda (ale cały czas niedoskonała, spróbujcie wysadzić samochód pod wodą to zobaczycie że nie wygląda to zbyt ciekawie), uszkadzalne drzewa (ale nie wszystkie), ładne światła, roślinność która wyglądała ładnie w filmikach promujących, a w grze już średnio. Podobnie jest z trybem DirectX 10. Troszkę polepsza grafikę, ale dużym kosztem wydajności. Ciekawostką jest że podobne efekty da się osiągnąć zmieniając kilka plików konfiguracyjnych pod Windows XP.
FarCry 2 - ta gra posiada też kilka ciekawych efektów. Płomienie - nowość w grach, ładnie przechodzące z krzaka na krzak i drzewa, ale cały czas nie jest to w 100% naturalne.
Dirt 2 - gra wykorzystująca DirectX 11, teselację. Według zapowiedzi jakość grafiki ponadprzeciętna, obiekty zbudowane z niewiadomo jakiej ilości wielokątów. Gra źle nie wygląda, ale jak na ilość zastosowanych technologi nie zachwyca.
Często jest tak że nowa technologia zamiast przynosić ze sobą rewolucyjną grafikę przynosi co najwyżej drobną zmianę wyglądu oraz ogromny spadek wydajności (DirectX 9 vs. 10)
Gry teraz może i są technologicznie lepsze, stoją na wyższym poziomie zaawansowania ale jakości grafiki to nie zmieniło tak dużym stopniu jak to było zapowiadane. W tej chwili pewnie łatwiej osiągnąć dany efekt mniejszym nakładem pracy niż kiedyś. Odwracając to: kiedyś szło osiągnąć ten sam efekt co teraz jednak większym nakładem pracy. Przynosi mi to na myśl takie wnioski że kiedyś twórcy bardziej przykładali się do tego aby dopieścić gry w każdym szczególe. Poza tym wszystkie technologię nie przynoszą takich korzyści dla końcowego odbiorcy, czyli gracza jakie powinny.
Kolejny przykład - PhysX. Zapowiadany jako rewolucyjny silnik fizyki, w tej chwili dosyć wydajnie akcelerowany przez karty graficznę nVidii. Co przyniósł w grach: głownie ładnie powiewające flagi, ubrania, burzenie ścian. Przyniósł by rewolucję gdyby na przykład za jego udziałem udało by się zrobić grę symulującą najdokładniej jak się da samochód: pracę zawieszenia, opon, silnika, układu kierowniczego, hamulcowego. Takie gry jednak nie powstają.
Powstają za to benchmarki sztucznie pokazujące moc "technologi". Przykład? Heaven Benchmark! Przy wyłączonej teselacji schody są płaskie. Każdy pewnie widział zrzuty ekranu. Czyżby dopiero teselacja wprowadzała możliwość realistycznego odwzorowania schodów w grach? Wydaje mi się że pewnie więcej niż 10 lat temu w grach można było spotkać normalnie wyglądające schody.
Po drugiej stronie ringu znajdują się konsole. Zatrzymane w ewolucji kilka lat temu cały czas potrafią (z lepszym lub gorszym skutkiem) trzymać poziom graficzny komputerów. Przykładem niech będzie GTA 4. Na XBOX 360 działał dobrze, a od komputera wymaga 4 rdzeniowego procesora oraz ogromnej ilości pamięci na karcie graficznej. Co prawda jakiś w tym udział ma optymalizacją oraz konwersja. Konsole jak wychodziło na rynek były bardziej zaawansowane od komputerów. Z czasem jednak możliwości się wyrównały, w tej chwili konsole są technologicznie za PC‑tami, a jednak cały czas trzymają poziom.
Podsumowując: kilka lat temu wystarczył GeForce 4, GeForce FX lub Radeon 9xxx, DirectX 8 lub 9 oraz talent twórców gier aby cieszyć się grafiką niespecjalnie dużo różniącą się od dzisiejszej. Dziś, pomimo ogromnego rozwoju akceleratorów graficznych jakoś grafiki nie uległa ogromnej poprawie. Teraz aby zagrać w większość gier nie oferujących pięknej grafiki należy posiadać kartę za więcej niż 300 zł, aby móc cieszyć się grafiką sprzed kilku lat o wiele wyższych wymaganiach niż kiedyś. Do takich gier możemy zaliczyć np. Serię Call Of Duty. Modern Warfare, Modern Warfare 2 nie oferuje oszałamiającej grafiki, jednak wymagania ma już na tyle wysokie że nie pogramy w pełni komfortowo na komputerze sprzed kilku lat.