Znajdujesz się w sekcji Blogosfera. Zamieszczone tutaj materiały zostały opracowane przez użytkowników serwisu, bądź są owocem samodzielnej pracy redaktorów. Redakcja ITHardware nie ponosi odpowiedzialności za treść poniższej publikacji.

O tym, jak mylące potrafią być testy kart graficznych

O tym, jak mylące potrafią być testy kart graficznych

Testy kart graficznych uchodzą za wyjątkowo proste w odbiorze, dla czytelnika - wykres słupkowy, na nim liczba klatek, gdzie więcej oznacza lepiej. Brzmi nad wyraz logicznie, prawda? Wprawdzie czasem można trafić na jegomościa, który nie rozumie idei scenariusza (miejsca) pomiarowego, wykłócając się, że dany model karty graficznej potrafi w jakiejś grze wyrzucić liczbę klatek n razy większą, ale nie o tym tu mowa. Skupmy się wyłącznie na narzędziach i sposobach reprezentacji pomiarów. Otóż, jak już wspominałem, wydajność kart graficznych zwykło wyrażać się wykresami typu słupkowego, a niekiedy, wraz z rosnącą popularnością YouTube'a, również poprzez nagranie rozgrywki z widoczną nakładką przedstawiającą liczbę klatek. Czytelnik (albo widz) wyrabia sobie na tej podstawie opinię o tym, jak testowany sprzęt poradzi sobie z uruchomieniem określonej produkcji - wymagane minimum płynności zostanie osiągnięte lub nie. Ale czy słusznie? Cóż...

Aby nie błądzić w sferze abstrakcji, pozwoliłem sobie na przygotowanie pewnego eksperymentu, mianowicie ten sam fragment rozgrywki w HITMAN, przy maksymalnych ustawieniach szczegółowości obrazu i rozdzielczości 3840 x 2160 pikseli, przeanalizowałem na trzy różne sposoby. Pierwszy to nagranie wykonane aplikacją GeForce Experience, z nakładką MSI Afterburner, drugi - klasyczny pomiar aplikacją Fraps, trzeci zaś - OCAT, o którym troszkę szerzej zdążyłem już pisać w przeszłości (link). Pomiary zostały wykonane jednocześnie, na, co oczywiste, tej samej platformie sprzętowej, wyposażonej m.in. w procesor Core i7-7700K, podkręcony do 5 GHz, kartę graficzną GeForce GTX 1070 Ti, 16 GB pamięci operacyjnej DDR4-2666, a także dysk półprzewodnikowy. Przy czym jednoczesne przeprowadzenie pomiaru oznacza, że wszystkie aplikacje zostały uruchomione w tym samym czasie, a więc potencjalna losowość wydarzeń w żadnym stopniu nie wpływa na wyniki. Obniżyć je może za to włączone przechwytywanie obrazu, ale to w równym stopniu dotyczy wszystkich zaprezentowanych przeze mnie metod pomiarowych.

Zacznijmy od materiału filmowego, stworzonego na wzór testów wideo, z serwisu YouTube. Według widocznego na ekranie wskaźnika, klatkaż ani na moment nie spadł poniżej 38 kl./s, utrzymując się w przedziale 40 - 50 kl./s. Nie jest to wymarzony komfort rozgrywki, ale wartość całkowicie wystarczająca dla tytułu o umiarkowanej dynamice, a takim jest HITMAN. Wykres przedziałów czasowych (ang. frame time) wprawdzie pokazuje niepokojące skoki, ale do tego jeszcze dojdziemy. Fraps tymczasem zarejestrował średni frame rate na poziomie 46,2 kl./s, minimalny zaś - 37 kl./s. Wartości te, ponownie, nie są może przesadnie wysokie, ale dają nadzieję na przyjemną zabawę, a, jakby tego było mało, mniej więcej pokrywają się z tym, co widzimy na graficznej nakładce MSI Afterburnera. Weźcie przy tym, proszę, poprawkę na to, że aplikacje mogą mieć różne opóźnienie w chwili inicjacji pomiaru, przez co lekkie rozbieżności wciąż pozostają w normie. Niemniej, przechodząc do OCAT, pojawia się istotny rozstrzał. I tak, według narzędzia autorstwa AMD, średnia liczba klatek wynosi 46,4 kl./s, czyli podobnie jak w przypadku Frapsa, ale minimalna już tylko 33,5 kl./s. Jakby nie patrzeć, jest to blisko 12% różnicy względem wideo. Dlaczego tak, zapytacie? Śpieszę z wyjaśnieniem.

Otóż zarówno MSI Afterburner, jak i Fraps działają w oparciu o model interwałowy, przez co rejestrowana jest średnia liczba klatek w danej sekundzie, zaokrąglona do wartości całkowitej. Kiedy wykonujemy n-sekundowy pomiar Frapsem, aplikacja zapisuje n całkowitych wyników, z których następnie wylicza średnią, wskazując zarazem wartość minimalną. Ale ramki nie są rysowane regularnie. Dlatego też OCAT, który zbiera dane o czasie rysowania każdej klatki, reprezentując minimalny klatkaż jako 99. percentyl (minimalny frame time przez 99% czasu rozgrywki), oferuje znacznie lepszą precyzję. Mało tego, plik logu z OCAT pokazuje również, że ramka numer 182, spośród 707 zarejestrowanych ogółem, pochłonęła aż 55,999 ms, co oznacza wyraźne przycięcie, zupełnie pominięte przez aplikacje MSI Afterburner oraz Fraps (i niewidoczne na filmie, z uwagi na charakterystykę skompresowanego materiału wideo). Gdybyśmy wyliczyli minimalny klatkaż z tylko tej jednej sceny, to wyniósłby on około 17,8 kl./s. Dla niewtajemniczonych, sekunda ma 1000 ms.

Summa summarum wychodzi na to, że rozgrywka, wyglądająca na wykresie słupkowym całkiem przyzwoicie, wcale nie była niezakłócona, a dodatkowo nietrudno było sobie wyrobić fałszywy pogląd na spadki płynności. Czy jednak, w takim wypadku, wszystkie testy przeprowadzane innymi narzędziami niż OCAT należy postrzegać za nierzetelne? Bynajmniej. Główną istotą testu karty graficznej jest bowiem przedstawienie jej potencjału w odniesieniu do konkurencji, a nie wskazanie konkretnych osiągów. Tego zaś pozwala dokonać każda z przytoczonych powyżej aplikacji. Samemu testowaniu towarzyszy natomiast zbyt wiele zmiennych, by jakikolwiek pomiar móc traktować globalnie, przekładając na wykorzystanie sprzętu w warunkach domowych. I w takim duchu powstał też niniejszy tekst. Morał brzmi: interpretować, nie chłonąć bezkrytycznie i dosłownie wszystko to, co [wstaw dowolne nazwisko / ksywkę] wrzuci na wykresy ;)

Komentarze do: O tym, jak mylące potrafią być testy kart graficznych