Skip to main content

Drugie spojrzenie na Nvidia GeForce GTX 970

Czy oszczędności i system pamięci wpływają na wydajność?

Po premierze GTX 970 w ubiegłym roku, media technologiczne - z Digital Foundry włącznie - niemal jednogłośnie chwaliły nowy sprzęt Nvidii, pisząc o rewolucji w segmencie kart graficznych z górnej półki. Modele R9 290 i R9 290X zostały w tyle, co zmusiło AMD do obniżki cen, pomimo wysokiej wydajności tych układów. Ale w ostatnim czasie na wizerunku tego nadzwyczajnego produktu zaczęły pojawiać się rysy. Nvidia opublikowała niedokładne dane techniczne, co przełożyło się wkrótce na pozew zbiorowy przeciwko firmie.

Przypomnijmy w skrócie, o co poszło. Dostarczone recenzentom materiały mówiły o tym, że GTX 970 to nieznacznie ograniczona wersja droższego GTX 980. Oba modele bazują na tej samej architekturze GM204, ale jednostki obliczeniowe CUDA zmniejszono z 2048 do 1664, a taktowanie zegara z 1216 MHz na GTX 980 do 1178 MHz w tańszym modelu. Nvidia dawała do zrozumienia, że poza tym obie karty są takie same. Wkrótce okazało się jednak, że GTX 970 ma w rzeczywistości także mniej jednostek obliczeniowych ROP (56, a nie 64) i pamięci L2 cache (1792 KB, a nie 2048 KB).

Głównym problem była jednak pamięć. GTX 980 ma 4 GB GDDR5 w jednym bloku, z przepustowością 224 GB/s. Tymczasem GTX 970 ma 3,5 GB w jednej partycji z przepustowością 196 GB/s i wolniejsze 512 MB w drugiej partycji z przepustowością tylko 28 GB/s. Sterowniki kart automatycznie kierują dane najpierw do szybszej pamięci, z wolniejszymi zasobami wykorzystywanymi w ostateczności. Nawet wtedy - zapewnia firma - wolniejsza pamięć obsługuje tylko najmniej ważne dane.

Bez względu na zastosowaną technikę alokacji pamięci jasne jest, że sterownik radzi sobie dobrze z zarządzaniem zasobami. O ile nam wiadomo, żaden recenzent nie zauważył problemów z wydajnością podczas testów karty. Nawet te najbardziej dogłębne analizy - pomiaru opóźnień pomiędzy klatkami obrazu (stosowane w naszych testach) - nie wykazały problemów. Nie było powodów, by kwestionować podanych przez Nvidię danych, ponieważ sprzęt spisywał się tak jak powinien, bez artefaktów czy spadków płynności. Czy coś pominęliśmy? Teraz, gdy wiemy już o nietypowym układzie pamięci, czy uda się „zepsuć” kartę?

Od jakiegoś czasu od podstaw testujemy GTX 970 i GTX 980. Wideo podsumowuje nasze wrażenia - możemy wprowadzić stutter na 970, nieobecny na 980. Wymaga to jednak ekstremalnych ustawień, wpływających na rozgrywkę.Zobacz na YouTube

Zanim przystąpiliśmy do testów, skonsultowaliśmy się z deweloperami, w tym z architektami tworzącymi silniki nowej generacji, a także współpracownikami Nvidii. Jeden z nich, od lat związany z grami na PC, odrzucił zarzuty kierowane w stronę Nvidii. „To więcej dymu niż ognia” - przyznał. Inny twórca miał więcej do powiedzenia:

- VRAM obciążają głównie tekstury, a następnie buffery zawierające informacje potrzebne podczas rysowania obiektów na scenie - wyjaśnia Leszek Godlewski z polskiego The Astronauts. - Nie martwiłbym się o spadki wydajności, na pewno nie w najbliższej przyszłości. 3,5 GB VRAM to nadal dużo miejsca i obecnie nie ma po prostu wielu gier, które są zdolne zapełnić tę przestrzeń. Nawet jeśli takie tytuły się pojawią, to Nvidia na pewno odpowiednio dostosuje sterownik (jak robią zawsze w przypadku dużych tytułów). Czasami trudno uwierzyć, jak dużo można zyskać dzięki mądremu kolejkowaniu poleceń.

Kluczową kwestią podczas oceniania możliwości GTX 970 w dalszej perspektywie pozostaje to, co trafia do wolniejszego bloku pamięci. Przyzwyczailiśmy się do tego, że szybsza pamięć RAM przekłada się na lepsze wyniki, ale w nie wszystkich przypadkach wymagana jest ogromna przepustowość, oferowana przez karty z najwyższej półki.

Stałe buffery informacji i shadery z danymi tylko do odczytu z chęcią „zamieszkają” w wolniejszym segmencie pamięci, ponieważ są wczytywane szybko i współdzielone w wielu miejscach. Wolniejszy blok na pewno przyda się także do przechowania elementów o małym rozmiarze, ale wymagających pod względem mocy obliczeniowych. Sterownik powinien radzić sobie z wykrywaniem takich informacji i umieszczaniem ich w mniejszej partycji. Z drugiej strony, nie chcielibyśmy widzieć, co stałoby się, gdyby podzielić na obie partycje zasoby gier z systemami wirtualnych tekstur, jak Rage czy Wolfenstein. Jak się jednak okazało, Wolfenstein współpracował w naszym teście bez przeszkód, przy 1440p.

Wykorzystanie RAM-u w Evolve (w górnym rogu ekranu), na GTX 970, 980 i Titan. Wizualnie gra wygląda identycznie na wszystkich kartach, ale interesująca jest inna alokacja VRAM na 970 i 980.

Przechodząc do testów sprawdziliśmy wiele komentarzy na forach dyskusyjnych i pod artykułami. Często wymieniano Watch Dogs i Far Cry 4 jako produkcje podatne na stutter - w naszych testach te „mikrozacięcia” występują na GTX 970, GTX 980, a nawet na Titanie z 6 GB pamięci. Watch Dogs do dzisiaj nie zostało naprawione pod tym względem, a jedynym rozwiązaniem w Far Cry 4 jest wyłączenie najwyższej jakości mapowania tekstur w pliku .ini.

Sprawdziliśmy także Call of Duty: Advanced Warfare i Ryse. Te gry korzystają z dużych zasobów VRAM, ale głównie do przechowywania tekstur. W rezultacie wyglądają równie dobrze na kartach z 2 GB, jak i z 3 GB pamięci. Więcej jest po prostu doczytywania w tle.

Przebicie poziomu 3,5 GB jest wyzwaniem we współczesnych tytułach. Potrzebne jest włączenie wymagającego wygładzania krawędzi MSAA, skalowania w dół z wyższej rozdzielczości, a czasami nawet połączenie obu tych technik. W zaawansowanych silnikach graficznych opcje te bez problemu rozłożą każdą kartę graficzną. Tradycyjne MSAA jest często dodawane „na siłę” w nowych grach i nawet postawienie na 2x MSAA może oznaczać spadek liczby klatek na sekundę o 20-30 procent.

Współczesne silniki bazujące na cieniowaniu powierzchniowym nie są do końca kompatybilne z MSAA, więc czasem opcja ta wcale nie jest dodawana, a czasami w praktyce radzi sobie nie najlepiej. Weźmy przykład Far Cry 4. Podczas testu chcieliśmy dać wycisk naszemu PC i włączyliśmy MSAA. Okazało się, że takie wygładzanie było na roślinności dużo gorsze niż na konsolach (tak samo było przy wygładzaniu TXAA od Nvidii). Najlepsze rezultaty osiągnęliśmy przy SMAA, które minimalnie wpływa na wydajność. SMAA działa jednak w post-processingu, czyli już po wygenerowaniu klatki obrazu. Tymczasem MSAA analizuje krawędzie przed ich wyświetleniem.

Inny tytuł ze wsparciem dla MSAA - Assassin's Creed Unity - ujawnia podobne wyniki. Poniższa tabela ilustruje, dlaczego metody wygładzania w post-processingu są teraz dużo popularniejsze. Tutaj używamy GTX Titana do zmierzenia wydajności i zapotrzebowania na pamięć w przypadku teoretycznie nieograniczonych zasobów pamięci. Okazuje się jednak, że nawet przy 1080p, AC Unity osiąga 4,6 GB pamięci przy 8x MSAA, a te same ustawienia w 1440p całkowicie wyczerpują zasoby Titana. Wartości FPS mówią same za siebie: tylko wygładzanie w post-processingu umożliwia rozgrywkę w 1440p, przy spadkach do 20 FPS. Dla kontrastu, zastosowanie techniki HRAA w Far Cry 4 - łączącej różne rozwiązania wygładzania - zapewnia świetne rezultaty na 1080p.

Przykład tego, jak wiele zasobów wymaga MSAA. Tylko FXAA pozwala osiągnąć ponad 30 FPS w AC Unity, ale jeśli zadowala nas taka wartość, to moce przerobowe lepiej przeznaczyć na inne efekty graficzne. W przypadku tego tytuł szkoda, że Unity postawiło tylko na FXAA wśród technik działających w post-processingu.
AC Unity/Ultra High/GTX Titan FXAA 2x MSAA 4x MSAA 8x MSAA
1080p: wykorzystanie VRAM 3517 MB 3691 MB 4065 MB 4660 MB
1080p min. FPS 28,0 24,7 20,0 12,9
1080p średnie FPS 46,1 40,2 33,6 21,2
1440p: wykorzystanie VRAM 3977 MB 4343 MB 4929 MB 6069 MB
1440p min. FPS 20,0 16,0 12,9 7,5
1440p średnie FPS 30,3 25,6 21,5 13,0

Aby otrzymać prawdziwie rujnujący rozgrywkę stutter i wyraźną różnicę między GTX 970 i 980, musieliśmy posunąć się do nadzwyczajnych kroków. Włączaliśmy dwie karty w SLI, by wyeliminować problemy z mocą obliczeniową. Następnie uruchamialiśmy Assassin's Creed Unity w rozdzielczości 1440p, z 4x MSAA. Jak widać na pierwszym materiale wideo w tym artykule, generuje to zauważalny stutter, którego nie ma na GTX 980. Ale włączone efekty to raczej przesada: ogromne wykorzystanie zasobów przy małych zyskach w kwestii jakości oprawy. Dużo mniej zasobożerne FXAA pozwala przy takiej konfiguracji SLI włączyć grę w 1440p przy stabilnym 60 FPS, a całość wygląda doprawdy spektakularnie.

Testy ujawniły także mniejsze wykorzystanie pamięci niż na Titanie, co sugeruje, że system zarządzania zasobami w grze ładuje elementy w zależności od tego, ile posiadamy pamięci VRAM. Bazując na wynikach Titana, 2x MSAA powinno całkowicie „zapchać” pamięć GTX 970 i GTX 980, ale tak się nie stało. Problemy pojawiły się dopiero przy 4x MSAA.

Wywołanie przeszkadzającego w zabawie stutteringu było równie trudne w innych tytułach, ale możliwe. Ponownie, potrzebne było włączenie ekstremalnych ustawień, o których nie myśleli sami deweloperzy. Mowa tu o grze Śródziemie: Cień Mordoru, skalowanej do 1440p z rozdzielczości 4K, z teksturami Ultra. Pomiędzy GTX 970 i GTX 980 widać tu wyraźną różnicę, co musi być spowodowane właśnie pamięcią. Szczerze mówiąc, żadna z kart nie dawała sobie rady przy takich ustawieniach, ale spadki wydajności były bardziej zauważalne na 970. Prawda jest jednak taka, że sami twórcy nie zalecają włączania tekstur Ultra na sprzęcie poniżej 6 GB pamięci, i to przy 1080p. Zmniejszenie jakości tekstur do rekomendowanych „wysokich” eliminuje stutter i pozwala na bardziej komfortową grę.

PlayStation 4
Tekstury Ultra
Tekstury High
Tekstury Medium
Cień Mordoru to kluczowa produkcja ilustrująca problemy z VRAM. Aby otrzymać na równi z konsolami wysoką jakość tekstur potrzeba co najmniej 3 GB pamięci. Obecnie 2 GB wystarcza w zupełności na większość współczesnych gier w 1080p. Spodziewamy się jednak, że ta sytuacja ulegnie zmianie w tym roku.
Tekstury Ultra
Tekstury High
Tekstury Medium
Cień Mordoru to kluczowa produkcja ilustrująca problemy z VRAM. Aby otrzymać na równi z konsolami wysoką jakość tekstur potrzeba co najmniej 3 GB pamięci. Obecnie 2 GB wystarcza w zupełności na większość współczesnych gier w 1080p. Spodziewamy się jednak, że ta sytuacja ulegnie zmianie w tym roku.
Tekstury Ultra
Tekstury High
Tekstury Medium
Cień Mordoru to kluczowa produkcja ilustrująca problemy z VRAM. Aby otrzymać na równi z konsolami wysoką jakość tekstur potrzeba co najmniej 3 GB pamięci. Obecnie 2 GB wystarcza w zupełności na większość współczesnych gier w 1080p. Spodziewamy się jednak, że ta sytuacja ulegnie zmianie w tym roku.
Tekstury Ultra
High Textures
Tekstury Medium
Cień Mordoru to kluczowa produkcja ilustrująca problemy z VRAM. Aby otrzymać na równi z konsolami wysoką jakość tekstur potrzeba co najmniej 3 GB pamięci. Obecnie 2 GB wystarcza w zupełności na większość współczesnych gier w 1080p. Spodziewamy się jednak, że ta sytuacja ulegnie zmianie w tym roku.

Podsumowując: robiliśmy wszystko, co w naszej mocy, by „zepsuć” GTX 970 i nie udało nam się tego zrobić w konfiguracji z jedną kartą graficzną, bez osiągnięcia limitu mocy obliczeniowych i przepustowości uniemożliwiających rozgrywkę. W bardziej rozsądnych testach nie zauważyliśmy żadnych problemów, które nie występowałyby także na GTX 980, choć ze względu na większą moc artefakty są czasem mniej widoczne na droższej karcie. W skrócie: pozostajemy przy naszym oryginalnym stanowisku, że GTX 970 pozostaje najlepszą opcją za około 1500 zł - przynajmniej na razie.

Kwestią otwartą jest sprawa tego, czy pojawią się gry wymagające jednorazowo więcej niż 3,5 GB pamięci i czy Nvidia zdoła wtedy odpowiednio dostosować sterowniki. Zespół odpowiedzialny za prace nad sterownikami to na pewno bardzo doświadczona i utalentowana grupa deweloperów. Jedno ze naszych źródeł ujawniło, że podczas optymalizowania tytułów zamieniają obciążające sprzęt shadery na ręcznie przygotowane zamienniki, co wpływa korzystnie na wydajność, kosztem rosnącego rozmiaru samego sterownika. Jeśli deweloperzy Nvidii decydują się na tak daleko idące wysiłki, to trudno uwierzyć, że chociaż te największe produkcje nie będą działać poprawnie na GTX 970.

Przyszłość: ile VRAM-u potrzeba?

Nvidia używała podobnego systemu podzielonych partycji w wielu starszych kartach, sięgając aż do GTX 550 Ti. Nigdy jednak nie wiązało się to z tyloma kontrowersjami, co w przypadku GTX 970. Częścią problemu jest oczywiście fakt, w jaki sposób odkryto te informacje. Możliwe jednak, że ważny jest także wpływ, jaki konsole mają na procesy produkcyjne na PC, z pamięcią podzieloną na działające w tle systemy i partycje VRAM dla gier. Ile pamięci powinno posiadać kupowane GPU, i jak szybkie powinny być jej zasoby?

Przyszłość sprzętu odpowiedzialnego za wyświetlanie grafiki to ograniczanie znaczenia przepustowości pamięci, ale jeden z deweloperów przewiduje, że technologia może pójść w inną stronę, bazując na współczesnym sposobie tworzenia gier.

- Mogę wyobrazić sobie karty z 1 GB super-szybkiej pamięci DDR6 i 10 GB „wolnego” DDR3 - mówi. - Większość operacji podczas renderowania bazuje współcześnie na pamięci szybkiego dostępu cache, przez co większość najważniejszych deweloperów optymalizuje teraz z myślą o cache. Z odpowiednimi wzorami dostępu, właściwym ładowaniem i zamienianiem danych można pozostać przy cache L1/L2 procesorów CUDA.

Systemy jednolitej pamięci z konsol obecnej generacji mogą okazać się być bólem głowy dla graczy na PC, ale ograniczenia w zintegrowanych APU wymuszają optymalizację, która sprawia, że kluczowe informacje przechowywane są w pamięci podpiętej bezpośrednio do konsolowych układów GPU. Czyni to wysoką przepustowość RAM-u mniej istotnym czynnikiem. To jeden z powodów, dla których architektura Maxwell od Nvidii - napędzająca GTX 970 - radzi sobie tak dobrze: została zbudowana w oparciu o dużo większe zasoby cache L2 niż w przeszłości.

Prawda jest jednak taka, że obecnie nie możemy przewidzieć, ile pamięci VRAM będzie potrzebne do dorównania konsolom, zachowując przy tym dodatkowe możliwości graficzne, z których słynie PC - wyższe rozdzielczości, lepsze efekty czy tekstury. Stało się jasne, że 2 GB to absolutne minimum dla 1080p we współczesnych tytułach, a rekomendowane jest 3 GB. Dzisiejsze karty graficzne z wyższej półki radzą sobie bez problemów, ale przyszłe silniki graficzne mogą wymagać ponad 4 GB. Czy może więc nadejść moment, w którym 3,5 GB z GTX 970 to będzie zbyt mało? Nie wiemy. Ale im lepiej deweloperzy zaznajomią się z konsolami obecnej generacji, tym bardziej krytyczne będą zasoby pamięci w kartach graficznych na PC.

- Zmuszając sprzęt do wysiłku potrzebujemy coraz więcej szybszej pamięci, by pomieścić elementy o wyższej jakości i rozdzielczości - mówi jeden z prominentnych deweloperów. - Obecnie nasze tytuły bez problemów docierają do limitów pamięci na konsolach, więc dla mnie kluczowym zadaniem jest optymalizacja.

Zobacz także