niedziela, 26 października 2014

Wydajnośc gier na Linuksie jest mierna. Niezależnie od producenta GPU.

Spalcie heretyka, ale nawet mój największy entuzjazm dla Linuksa nie może przysłaniać rzeczywistości. Jestem w stanie wypowiadać się o graniu na Linuksie w samych superlatywach, za wyjątkiem oceny wydajności renderingu.

Prawie dwa lata temu Alen Ladavac napisał:
There's this strange situation with OpenGL drivers ATM, especially on Linux. Strictly speaking, latest NVidia driver itself is slightly faster in OpenGL/Linux, than in Windows/D3D. However, seems that shader performance when running with it is much lower. This is the 50% speed difference people are talking about. Shader performance is largely a factor of shader compiler embedded in the driver.

Streszczając, problemem była wydajność shaderów (tych małych programików w GLSL, które są wykonywane na GPU) - jakieś 50% niższa niż w przypadku Direct3D/HLSL. Niektórzy pewnie uznali wtedy Alena za amatora, a Serious Engine za szajs - w końcu Valve twierdziło, że gry na OpenGL działają szybciej. Ja wiedziałem, że coś jest na rzeczy, w końcu Croteam z Alenem na czele pisało gry na OpenGL od ponad dekady i trudno było im odmówić doświadczenia.

Jak czas zweryfikował te słowa? Kilka benchmarków współczesnych gier AAA zrobionych przez społeczność PCGamingWiki:
Gry zostały przeniesione przez rożne zespoły (Feral, Aspyr) i łączą je dwie rzeczy: bezproblemowość/stabilność i... o ok. 50% niższa wydajność niż na Windows. Wszystkie testy zostały wykonane na GPU Nvidii. Postępu brak.

I nie jest to problem Linux vs Windows a OpenGL vs Direct3D (precyzyjniej GLSL vs HLSL) - sterownik binarny Nvidii jest zunifikowany i zapewnia w zasadzie tę samą wydajność w OpenGL na Linuksie jak i Windows.

Valve twierdzi, że OpenGL jest szybszy, o co tu chodzi? Tutaj posłużę się cytatem z wypowiedzi kolejnego programisty Croteam, Deana Sekulica:
We now have DX11 path (still in beta, yes) to compare performance with other gfx APIs. And I have to admit - I'm not very pleased with that I saw (measure) for now; DX11 is not much faster then DX9. Not as much as MS/NV/ATI wanted us to believe. :( OpenGL (on NV, not ATI!) is still the king of performance when you're CPU limited. :)
Teraz wszystko wydaje się jasne, OpenGL jest wydajniejszy, gdy wąskim gardłem jest CPU. Mniejszy narzut na CPU i to "całe AZDO" o którym tyle Intel/AMD/Nvidia mówi ostatnio.  Nienajnowsze już gry Valve są zdecydowanie zbyt mało wymagające by GPU (nie CPU) stało się dla nich wąskim gardłem.  Szczególnie, że ich wyniki pochodzą z testów przy rozdzielczości 1280 x 1024 (!).

Koniec części merytorycznej/na temat części posta

Nie zamierzam jednak tutaj płakać. Poza mizerną wydajnością, granie na Linuksie to niemal sama przyjemność. Pierwszy raz wszystko czego wymaga się od użytkownika to wykonania dwóch kroków: kliknięcia "Instaluj" i potem "Graj". Żadnych instalacji DirectX czy vcredist dla każdej z gier z osobna, jak na Windows. Do tego dźwięk HRTF. Miód.
Wybór gier jest też coraz większy, nawet z wyborem AAA nie jest już fatalnie. Ba, mogę nawet sromotnie przerżnąć partyjkę w UT(2014), bez płacenia grosza.

W końcu nawet do Oculus SDK w wersji 0.4.3 powróciła obsługa Linuksa. Problem w tym, że konsumencka wersja Rifta będzie wymagała GPU wydajnego w bardzo wysokich rozdzielczościach. Celem musi być jakieś 90 kl./s w 4K dla gier na Unreal Engine 4. I tradycyjne SLI nie wchodzi w UE4 w grę (słowo klucz: deferred rendering).

Spokojnie czekam na lepsze sterowniki, może lepsze API. Mam kupę gier w bibliotece Steam by sobie to czekanie umilić. Ostatni strzał: Dead Island. Port świetny, ale jakość samej gry... trudno mi ten niski FOV, blur, oślepiający bloom, konsolowe wybieranie broni, przyspieszenie myszki i gumowe sterowanie skomentować - Techland, co wyście sobie myśleli?

PS Wszystkie testy w 1280 x 1024, niezależnie czy wykonane przez Valve czy na naszym krajowym podwórku, są tylko marnowaniem czasu. Gdzieś w 1999 roku Secret Service chwaliło się, że jak dorwali TNT2 do testów to Quake1 2 leciał płynnie w 1600 x 1200 x 32. Chyba nastąpił jakiś postęp przez ostatnie 15 lat?


Brak komentarzy:

Prześlij komentarz