Teoria idealnego miejsca testowego
Czym charakteryzuje się idealne miejsce testowe w grze? Spełnione muszą zostać (w dużym skrócie) co najmniej trzy warunki:
- Jest reprezentatywne dla danej gry. Gry wyścigowej typu F1 2012 czy GRID Autosport nie testujemy w garażu podczas wybierania koloru samochodu (jakkolwiek wymagająca dla sprzętu byłaby ta sekwencja), ale podczas wyścigu. Analogicznie: nie testujemy strzelanki w trakcie przerywnika filmowego, w którym postać rozmawia z inną. Reasumując: gry testujemy tam, gdzie wydajność faktycznie jest potrzebna.
- Jest wymagające. Ważne jest, by znaleźć wymagające miejsce. Nie pokazujemy, że zabawę w danej grze w 60 kl./s umożliwia już GTX 750 Ti, jeśli wiemy, że w innym miejscu znacznie mocniejsza karta, taka jak GTX 770, nie zdoła wyświetlić więcej niż 30 kl./s.
- Zapewnia powtarzalność wyniku. Nawet najlepsze miejsce, które spełnia dwa pierwsze warunki, czasem zwyczajnie nie nadaje się do testowania sprzętu ze względu na słabą powtarzalność wyników. Jeśli ich rozrzut w obrębie jednej konfiguracji wynosi więcej niż 2–3%, to test zwyczajnie nadaje się tylko do kosza.
Problem? Niektóre redakcje pokazują swoje miejsca testowe, co w połączeniu z wynikami na wykresach pozwala łatwo wywnioskować, które testy nie nadają się do publikacji. Przykłady? Podamy te, które zapamiętaliśmy lub po prostu najszybciej znaleźliśmy.
Miejsca „procesorowe” i „graficzne”
Tu większość redakcji jest zgodna: do testu karty graficznej dobieramy możliwie szybki procesor, który nie ograniczy wyników, a do testu procesora dobieramy najszybszą kartę. Niestety, nie ma już zgody, jeśli chodzi o miejsca testowe, czego efektem często są zupełnie „płaskie” wykresy z wynikami procesorów itp.
O tym, jak odróżnić miejsce „procesorowe” od miejsca „graficznego”, pisaliśmy w artykule poświęconym podobnym zagadnieniom. Obszerniej przedstawiliśmy tę kwestię w artykule o metodach testowania procesorów w grach. Dalsze strony to tak naprawdę praktyka do teorii opisanej w przytoczonych publikacjach.
Jak źle dobrać i wykonać test wydajności?
Tytuł strony może się wydawać śmieszny, ale w sieci można znaleźć mnóstwo testów, których wyniki na jednym wykresie zwyczajnie sobie przeczą. Daleko szukać nie trzeba...
Guru3D – miejsce testowe z Battlefield 3
Po obejrzeniu wybranych przez Guru3D miejsc testowych w tych dwóch grach oraz wyników nie mamy wątpliwości: taki wybór to niesmaczny żart. W kilka minut zrozumiecie, dlaczego doświadczeni użytkownicy czasem z ciężkim sercem przeglądają wyniki testów w tej witrynie.
Na początek Battlefield 3:
Czy na podanym wykresie można zauważyć jakieś nieprawidłowości?
Tak, to różnica w osiągach pomiędzy R9 280X a HD 7970 GHz. Krótki rzut oka na parametry:
R9 280X | HD 7970 GHz | |
---|---|---|
Jednostki cieniujące | 2048 | 2048 |
ROP | 32 | 32 |
Jednostki teksturujące | 128 | 128 |
Zegar rdzenia | 1000 MHz | 1000 MHz 1050 MHz (Boost) |
Moc obliczeniowa | 4294 gigaflopy | 4294 gigaflopy |
Szybkość wypełniania pikselami | 33,5 gigapiks./s | 33,5 gigapiks./s |
Szybkość wypełniania teksturami | 134,2 gigateks./s | 134,2 gigateks./s |
Zegar pamięci | 1500 MHz | 1500 MHz |
Szyna pamięci | 384 b | 384 b |
Rodzaj pamięci | GDDR5 | GDDR5 |
Przepustowość pamięci | 281,5 GB/s | 281,5 GB/s |
Proces technologiczny | 28 nm | 28 nm |
Jak wiadomo, R9 280X to nic innego jak przemianowany rdzeń Tahiti XT, stosowany wcześniej właśnie w Radeonach HD 7970 GHz. Nowa karta zastąpiła starą, przejmując wszystkie jej parametry oprócz jednego: brakuje jej trybu Boost, przez co nie może przyspieszać rdzenia. Mamy zatem do czynienia z dwiema identycznymi kartami o nieco innej częstotliwości taktowania rdzenia.
Idąc tym tropem: maksymalne taktowanie rdzenia w R9 280X to 1000 MHz. HD 7970 GHz zapewni tyle w najgorszym scenariuszu, w najlepszym zaś będzie to 1050 MHz, czyli o 5% więcej.
Pojawia się zatem pytanie: jakim cudem w teście Guru3D Radeon R9 280X pokonuje Radeona HD 7970 GHz o 10%? Taka sytuacja nie jest możliwa w grze i wynika to zwyczajnie z budowy rdzenia oraz częstotliwości jego taktowania. R9 280X w najlepszym razie powinien zrównać się z HD 7970 GHz, a w wybranym teście bez problemu go wyprzedza.
Wystarczy jednak krótki rzut oka na procedurę testową.
Procedura testowa trwa 2 minuty i jest okraszona wręcz niezliczonymi obrotami kamery o 90–180 stopni. Tester losowo strzela, biega, rozgląda się, co skutkuje ogromnym rozrzutem wyników, kiedy to Radeon R9 280X przegania HD 7970 GHz o 10%. Taki sposób testowania sprawi, że w trzech próbach ten sam sprzęt za pierwszym razem osiągnie wynik 40 kl./s, za drugim – 50 kl./s, a za trzecim – 45 kl./s. To dyskwalifikuje pomiar.
Przykład Radeona R9 280X i HD 7970 GHz pozwala ocenić rzetelność wyników konkurencyjnych witryn. Jeśli w danym teście Radeon R9 280X osiąga podobną przewagę jak na Guru3D lub, co gorsza, z gry na grę karty zamieniają się miejscami, to dalsza lektura prawdopodobnie mija się z celem.
Jak redakcja PCLab.pl dobiera miejsca testowe?
Pierwszym warunkiem znalezienia dobrego, reprezentatywnego miejsca testowego jest... przejście gry od początku do końca. I wcale nie jest to tak przyjemne, jak może się wydawać, nie zawsze bowiem tester ma ochotę usiąść na dłużej do danej gry, nawet służbowo. Do szukania miejsc testowych w Battlefieldzie 4 czy Watch Dogs raczej znajdą się chętni, ale już do Cywilizacji czy chociażby Thiefa trudno się zabrać. Niemniej jednak do gry zwykle siadamy z tym samym zestawem: domyślnie taktowanym Core i7-2600K oraz GTX-em 770 lub zamiennie R9 280X / HD 7970 GHz. Wypatrujemy momentów, w których klatek na sekundę będzie ewidentnie mniej niż zwykle, tak aby miejsce było wymagające dla sprzętu, ale to niejedyny warunek.
Trzeba też ocenić, czy dane miejsce testowe jest kluczowe dla ukończenia przygody. Jakie to miejsce? Takie, którego nie da się ominąć. Jeśli znajdziemy miejsce, w którym klatek na sekundę jest bardzo mało (bez względu na to, czy problemem jest procesor czy karta graficzna), ale które NIE jest kluczowe z punktu widzenia gracza, to w nim nie testujemy, choć oczywiście wszystko zależy od danej gry.
Nie wykorzystujemy też ewidentnych błędów w grze. Przykłady? W Half-Life 2 były miejsca, gdzie wystarczyło udać się w róg pomieszczenia i zapalić latarkę, by nagle liczba klatek na sekundę spadała o połowę. Nieco nowszy przykład to Bioshock: Infinite. Znaleźliśmy w nim miejsce, w którym spojrzenie na kłódkę wywoływało pokaz slajdów, bo karta graficzna generowała wtedy tylko kilkanaście klatek na sekundę. Z oczywistych względów uznaliśmy to za błąd programistów.
Ostateczny wybór miejsca testowego to suma wielu zmiennych i dyskusji. Oto przykłady:
- Max Payne 3. Trzecia część przygód Maxa Payne'a jest bardzo rozbudowana i w samej grze jest mnóstwo miejsc, które są bardziej wymagające od wybranej przez nas dyskoteki. A jednak przeważyły względy praktyczne, bo to właśnie w dyskotece liczba klatek na sekundę musi być odpowiednio duża, tak aby dało się szybko zabić kilku przeciwników.
- Metro: Last Light. Podczas przechadzki po korytarzach moskiewskiego metra znaleźliśmy sporo miejsc, które były wyzwaniem nawet dla najszybszych kart graficznych, ale nie było w nich wroga, więc duża płynność obrazu nie jest tam wymagana. Postanowiliśmy zatem testować sprzęt w trakcie ostatniej walki w hangarze D6, gdzie odpieramy falę kilkudziesięciu przeciwników.
Nasze miejsca testowe w Far Cry 3
W teście wydajności w Far Cry 3, który przeprowadziliśmy od razu po tym, jak gra trafiła do sklepów, pokazaliśmy, że nawet stosunkowo drogi sprzęt nie jest zadowalająco szybki. Przykładowo posiadacze najmocniejszych kart graficznych mogli się spodziewać co najwyżej 45 kl./s w Full HD, a procesory AMD FX zapewniały około 35 kl./s. W komentarzach zaczęło się wielkie udowadnianie, że nawet słabszy sprzęt umożliwia zabawę, a przy tym kilka osób zarzucało nam, że wybraliśmy „superwyselekcjonowane miejsce, które w grze trwa 5 sekund” i że wydajność sprzętu w Far Cry 3 kształtuje się zupełnie inaczej. Dlaczego my osiągnęliśmy takie wyniki, a nasi Czytelnicy inne? Co faktycznie jest potrzebne, by przyjemnie pograć w Trójkę?
Niestety, tendencja jest taka, że wiele redakcji oraz czytelników mierzy wydajność danego zestawu w miejscach, gdzie jest to kompletnie nieistotne. Jako dobry żart traktujemy na przykład zrzuty ekranu z licznikiem Frapsa, na których postać patrzy w ziemię/niebo, obserwuje roślinność lub, co jeszcze lepsze, pływa, patrząc na dno. Podaliśmy przykłady z Far Cry 3, ale podobne podejście do oceniania sprzętu w grach przyjmuje wielu testerów, tak zawodowych, jak i amatorów.
To wszystko w połączeniu z niekontrolowanymi ruchami myszą i rozglądaniem się losowo na wszystkie strony prowadzi do testów, które są mało powtarzalne, a przez to pokazują między innymi, że R9 280X jest szybszy od HD 7970 GHz, co nie jest możliwe (a udowodnić to łatwo – patrz analiza na poprzedniej stronie).
Far Cry 3 – miejsce „graficzne”
Nie jesteśmy wielkimi zwolennikami testowania karty graficznej w parze z najmocniejszym dostępnym procesorem w miejscach, które są zależne praktycznie wyłącznie od niej. Tak się przyjęło, tak się testuje i tak też sami robimy w standardowej procedurze testów kart graficznych, zmieniając w zestawie testowym właśnie ten element układanki, który odpowiada za generowanie grafiki.
Testujemy w obozie Amanaki, który jest odblokowywany stosunkowo wcześnie po rozpoczęciu gry, a pomiar polega na przechadzce po mapie w miejscu, gdzie nie ma przeciwników.
Jak właściwie wykonać test? Podejście zaprezentowane w pierwszej części filmu nie ma żadnego sensu i obserwujemy tu zachowanie podobne do tego, co pokazał serwis Guru3D w swoim teście w Battlefield 3: losowe ruchy myszą, obracania się o 90–180%. Natomiast drugie podejście zapewnia bardzo dobrą powtarzalność, bo niepewność pomiarowa to około 1%, i łatwość odtworzenia testu.
Sposób testowania podobny do pokazanego w drugiej części filmiku nigdy nie wykaże przewagi Radeona R9 280X nad HD 7970 GHz, natomiast ten sam test przeprowadzony pierwszym sposobem trudno nazwać powtarzalnym, co dyskwalifikuje pomiar.
Far Cry 3 – miejsce „procesorowe”
Przedstawione poniżej miejsce testowe posłużyło nam w teście wydajności w Far Cry 3, który przeprowadziliśmy od razu po tym, jak gra trafiła do sklepów, a dzisiaj używamy go w testach procesorów oraz konfiguracji, na przykład ostatnio, gdy FX-8350 starł się z Core i5-4690, a GTX 780 zmierzył z R9 290X.
Miejscem tym jest misja z zasadzką na głównego przeciwnika w grze, kiedy to musimy zatrzymać kilka samochodów w konwoju, a także zabić kilkunastu wrogów. To właśnie jest test, który w pełni ukazuje nasze podejście do wyszukiwania miejsc testowych w grach. Spełnia on kilka warunków:
- jest to jedno z najbardziej wymagających miejsc w grze;
- ten fragment gry trzeba przejść, by ją ukończyć;
- możliwie duża liczba klatek na sekundę jest w tym miejscu pożądana: od płynności rozgrywki (a przez to – efektywności ostrzału) zależy wirtualne życie gracza;
- jest powtarzalny (o ile postać nie rozgląda się w sposób niepowtarzalny).
Każdy, kto wykonywał w Far Cry 3 misje w trybie pojedynczego gracza, na pewno pamięta poniższą sekwencję (to właśnie w tej lokalizacji testujemy, choć film nie reprezentuje dokładnie naszej metody):
Tylko tyle i aż tyle sprawia, że duża część kart graficznych, a przede wszystkim procesorów, zwyczajnie nie nadąża z generowaniem kolejnych klatek.
Ciekawostka
W pierwszym dniu dostępności Far Cry 3, dokładnie godzinę i piętnaście minut po tym, jak opublikowaliśmy swój test, rozmawialiśmy z przedstawicielem PR AMD w Polsce, który nas przekonywał, że w wynikach procesorów tej firmy na pewno jest błąd, a przedstawione przez nas osiągi są w tej grze niespotykane. Postanowiliśmy więc nagrać film z miejsca testowego i umieścić go w witrynie YouTube, a następnie zasugerowaliśmy, że skoro AMD współpracuje z Ubisoftem przy Far Cry 3, a sama gra należy do programu Gaming Evolved, to może warto zabiegać o optymalizację tego fragmentu rozgrywki pod kątem procesorów AMD FX w kolejnych łatkach. Innymi słowy, wskazaliśmy palcem, gdzie jest problem.
Efekt? No cóż. W marcu 2013 roku ukazała się ostatnia aktualizacja, oznaczona numerem 1.05, a sytuacja procesorów AMD FX wcale się nie poprawiła. FX-8320/8350 podkręcony do 4,7 GHz wcześniej zapewniał 35–40 kl./s i dalej tyle osiąga.
Wniosek?
To wszystko przynosi dwie refleksje. Pierwsza z nich jest taka, że współpraca danego producenta sprzętu z danym producentem gry wcale nie musi oznaczać, że będzie ona lepiej zoptymalizowana pod kątem konkretnego sprzętu. Procesory AMD FX nie spełniają pokładanych w nich oczekiwań i współpraca AMD z Ubisoftem nie przyniosła w tej kwestii żadnej poprawy, nawet pomimo tego, że wiadomo było dokładnie, w którym miejscu należy poprawić wydajność.
Drugi wniosek jest taki, że przedstawiona sytuacja w grze (wydajność w scenie zasadzki na konwój) nie jest błędem programistów. Gdyby to był błąd, już dawno zostałby poprawiony. A gdyby faktycznie można było zoptymalizować ten fragment pod kątem architektury AMD FX, też najpewniej zostałoby to zrobione. Chodzi o to, że prawdopodobnie nie dało się w tej sekwencji odciążyć procesora w inny sposób, niż pozbywając się niektórych elementów otoczenia, zmniejszając liczbę efektów cząsteczkowych lub po prostu redukując liczbę przeciwników, co dla graczy byłoby nie do przyjęcia i zostałoby od razu zauważone.
Testy. Far Cry 3 – GPU
Poniżej przedstawiamy wyniki testów w Far Cry 3 w miejscu zależnym głównie od karty graficznej. Testy wykonaliśmy z użyciem dwóch kart: Radeona R9 290X oraz GeForce'a GTX 780 GHz. Kosztują podobnie i jak wskazuje większość rezultatów, zapewniają porównywalną wydajność (plus minus kilka procent). Najpierw wyniki w miejscu w największym stopniu zależnym od wydajności karty graficznej.
Łatwo rozpoznać takie miejsce testowe, gdyż wydajność zestawu mocno zależy w nim od taktowania karty:
Wyraźnie widać, że liczba klatek na sekundę jest wyraźnie większa po każdym przyspieszeniu karty.
Oto osiągi dwóch kart graficznych w parze z tym samym procesorem (Core i5-4670K) działającym w trzech różnych ustawieniach: 3 GHz, 3,5 GHz oraz 4 GHz:
W rozdzielczości 1920 × 1080 bez wygładzania krawędzi karta Nvidii osiąga ten sam rezultat niezależnie od taktowania procesora (miejsce testowe jest w największym stopniu zależne od wydajności podsystemu graficznego). Radeon R9 290X, jak widać, przyspiesza i przegania GTX-a 780 dopiero w parze z procesorem Haswell taktowanym z częstotliwością 3,5 GHz.
W rozdzielczości 1920 × 1080 z włączonym wygładzaniem krawędzi obydwie karty osiągają niemalże zerowy wzrost wydajności po zwiększeniu częstotliwości taktowania procesora. Wniosek: w obydwu przypadkach ograniczeniem jest karta graficzna.
Wnioski
W tym miejscu testowym przy założeniu, że procesor nie stanowi ograniczenia (Core i5-4670K @ 4 GHz lub szybszy), Radeon R9 290X jednoznacznie okazuje się szybszy od GeForce’a GTX 780 GHz. Już teraz widać, że im szybszy CPU, tym lepiej Radeon radzi sobie w starciu z układem Nvidii.
Czas na porównanie tych dwóch kart w miejscu zależnym głównie od wydajności procesora.
Testy. Far Cry 3 – CPU
Na poprzedniej stronie zaobserwowaliśmy pewną zależność: im szybszy CPU, tym Radeon ma większą szansę wyprzedzić rywala z obozu Nvidii. Na tej stronie przedstawiamy wyniki testów w miejscu w większym stopniu zależnym od wydajności CPU:
Inaczej, niż pokazał analogiczny wykres z poprzedniej strony, zmiana taktowania układu graficznego i pamięci operacyjnej w zasadzie nie wpływa na wyniki. To jeden z dwóch dowodów na to, że to miejsce testowe jest zależne od CPU.
I tym razem testy przeprowadziliśmy z użyciem tego samego procesora działającego w trzech różnych ustawieniach:
Karta graficzna Nvidii współpracująca z procesorem taktowanym z częstotliwością 3,5 GHz jest szybsza od Radeona w parze z tym samym procesorem, ale przyspieszonym do 4 GHz.
Wyniki osiągnięte przy włączonym wygładzaniu krawędzi były do przewidzenia. Im większe obciążenie GPU, a im mniejsze znaczenie CPU, tym Radeon lepiej sobie radzi od GeForce'a.
Wnioski
Przeprowadzone przez nas testy wyraźnie pokazują, że dobór miejsca testowego mocno wpływa na relacje między kartami graficznymi. Również wykorzystany procesor ma na nie wpływ. W danym teście, stosując różne procesory, można za pierwszym razem wykazać, że karta A jest szybsza od karty B, a za drugim razem – że jest odwrotnie. To oznacza, że testowanie kart graficznych za kilkaset złotych z użyciem najszybszego dostępnego procesora (zwykle jest to jakiś Core i7 @ 4,5 GHz lub szybszy) nie ma sensu, gdyż nie reprezentuje wydajności prawdopodobnej konfiguracji, w której najpewniej znajdzie się procesor bardziej „dla ludu”. To jest właśnie przyczyna różnic między tymi wynikami a tymi.
Miejsce „graficzne” czy „procesorowe”?
Testy wydajności w Far Cry 3 przeprowadzone w dwóch miejscach testowych nasuwają kilka wniosków.
Po pierwsze, teoretycznie przez trzy czwarte gry rzeczywiście wydajność odpowiada temu, co spotkamy w naszym miejscu „graficznym”: biegamy sobie beztrosko po polankach, zwiedzamy wyspę, ewentualnie polujemy na zwierzęta, aby rozbudować swój ekwipunek. Chodzi o to, że dobranie ustawień tak, aby podczas „zwiedzania mapy” na ekranie było wyświetlanych 50 kl./s, poskutkuje tym, że w walce, szczególnie gdy procesor jest słaby, będzie ich gdzieś tak o połowę mniej. To nie pozwoli wykonać wielu misji czy po prostu odbijać posterunków, a nie wyobrażamy sobie, byśmy mieli ciągle zmieniać ustawienia graficzne w zależności od tego, czy akurat strzelamy do przeciwników, czy może tylko rozglądamy się po mapie. Często jest też tak, że zmiana ustawień nie zwiększa liczby klatek na sekundę w sytuacji, gdy to procesor ogranicza wydajność zestawu.
Nasze zdanie już znacie: wydajność w miejscu testowym, gdzie strzelamy do wroga, jest dla nas zdecydowanie ważniejsza. Niemniej jednak chcielibyśmy zapytać Was o zdanie: w którym z przedstawionych na poprzednich stronach miejsc powinno się testować sprzęt?
A może by tak CPU + GPU?
Już zdradzamy, że nasze procedury przejdą drobne modyfikacje i będą uwzględniały nie tylko czystą moc GPU, ale też narzut sterownika graficznego, który jak się okazuje, jest nieodłącznym elementem całej układanki. Miejsce mieszane (w którym jest potrzebna wydajność zarówno GPU, jak i CPU) wydaje się lepiej reprezentować wydajność, a wnioski te wysuwamy, oczywiście, po swoich testach tanich, średnio drogich oraz droższych zestawów do gier.
Zaprezentowane przez nas wyniki testów są istotnym argumentem w dyskusji o różnicach między wynikami testów przeprowadzanych przez poszczególne redakcje, lub nawet różnych testów autorstwa tej samej witryny. Tłumaczą one różnice między wynikami na przykład z tego artykułu (R9 290X jest szybszy od GTX-a 780, a całość była testowana przy użyciu Core i7 @ 4,5 GHz) i tego artykułu (R9 290X jest sporo wolniejszy od GTX-a 780, bo całość była testowana z wykorzystaniem wolniejszego procesora). Do rozważenia pozostawiamy Wam ocenę całej przydatności poszczególnych miejsc testowych i sposobu testowania.
Czy różnice między kartami graficznymi podczas przechadzki po lesie w sytuacji, gdy na ekranie w ciągu sekundy pojawia się około 55 klatek, mają znaczenie? A może lepiej sugerować się wydajnością w sytuacjach newralgicznych, kiedy całkowicie zmienia się sposób obciążenia komputera, a liczba klatek na sekundę jest zauważalnie mniejsza?