Jak działają bottlenecki, czy warto testować CPU w 4K i nie tylko: felieton pomocniczy do testów CPU

Jak działają bottlenecki, czy warto testować CPU w 4K i nie tylko: felieton pomocniczy do testów CPU

W dzisiejszym tekście będziemy omawiać m.in. kwestię tego, jak działają tzw. wąskie gardła (ang. bottleneck) ze strony procesora bądź karty graficznej, a także, czy warto badać wydajność CPU w wysokich rozdzielczościach jak 1440p czy 4K. Są to tematy niewątpliwie istotne w kontekście testów procesorów i GPU, które możecie znaleźć na naszym portalu, stąd uznałem, że warto poświęcić im więcej uwagi. Punktem wyjścia do powstanie tego felietonu były de facto dyskusje w komentarzach pod artykułami, a konkretniej np. sugestie, że nawet przy bardzo słabych kartach graficznych jak Radeon RX 570 użycie nieco szybszego lub wolniejszego CPU może mieć wpływ na wyniki, tudzież że GeForce RTX 4080 w tym demo Unreal Engine 5.4 miałby spokojnie osiągać 60 FPS, gdyby procesorem był Ryzen 7 7800X3D, zamiast wyraźnie słabszego Core i7-10700F. Ale czy te twierdzenia rzeczywiście są zgodne z prawdą? Żeby odpowiedzieć na to pytanie, najpierw trzeba wyjaśnić, jak działają wąskie gardła.

Jak działają bottlenecki, czy warto testować CPU w 4K i nie tylko: felieton pomocniczy do testów CPU

Jak dokładnie działa wąskie gardło ze strony procesora lub karty graficznej

Jeżeli chodzi o rolę CPU w generowaniu grafiki widocznej na ekranie, jego zadaniem nie jest wspomaganie GPU w procesie renderingu. Procesor musi tylko i aż przygotować dane niezbędne, aby karta graficzna mogła wykonywać swą pracę i tak długo, jak CPU jest w stanie dostarczać je wystarczająco szybko, GPU działa z pełną wydajnością. W praktyce oznacza to, że w każdej chwili grając w grę, w konkretnym scenariuszu, czyli dla obecnej lokalizacji w świecie tej produkcji i aktualnych ustawień graficznych, procesor jest w stanie wygenerować określoną liczbę FPS i analogicznie, karta graficzna też potrafi "wyprodukować" daną liczbę kl./s, a wartość, którą widzimy na ekranie, zakładając że macie włączoną nakładkę pokazującą wydajność, jest niższą z przed chwilą wymienionych. Innymi słowy, nie ma czegoś takiego, jak zjawisko nieskończonego przyspieszania GPU przez CPU, tzn. po przekroczeniu pewnego pułapu jeszcze szybszy procesor nie przyniesie już poprawy. Oznacza to, iż chociaż typowo wydajniejszy CPU robi różnicę na plus, to nie zawsze musi i po prostu istnieją gry, które nie są zbyt wymagające w stosunku do procesora, tudzież możemy ustawić na tyle wysoką rozdzielczość, że rola procesora schodzi na drugi plan, z uwagi na znaczne obciążenie karty graficznej, która nie jest w stanie przy tej liczbie pikseli wygenerować zbyt wiele FPS.

Jak działają bottlenecki, czy warto testować CPU w 4K i nie tylko: felieton pomocniczy do testów CPU

Ale to tylko teoria i absolutnie nie musicie mi wierzyć na słowo, że właśnie tak jest. Aby więc nie ograniczać się do suchych sformułowań, poniżej odnajdziecie dwa zrzuty ekranu z Cyberpunk 2077: Phantom Liberty, dla GeForce'a RTX 3080 Ti oraz Core i9-13900K z pamięcią DDR4 o częstotliwości 4000 MHz i w dwóch ustawieniach: aktywne wszystkie 24 rdzenie i taktowanie 5,4/4,4 GHz oraz włączone tylko cztery duże rdzenie z SMT i zegar 4,0 GHz (tj. odpowiednik Core i3-13100). Jak widzimy, wariant będący symulacją dużo słabszego procesora charakteryzuje się wyraźnie wyższym obciążeniem CPU (83% vs 31%), jednak FPS jest dokładnie taki sam, gdyż w obu przypadkach procesor jest na tyle szybki, aby nie spowalniać karty graficznej. Przy czym warto podkreślić, że jest to lokalizacja kładąca duży nacisk na GPU i w miejscu bardziej obciążającym CPU tak dobrze dla Core i3 by już nie było, ale jak na dłoni widać to, co chciałem pokazać, czyli że nie zawsze mocniejszy procesor podnosi osiągi karty graficznej.

Jak działają bottlenecki, czy warto testować CPU w 4K i nie tylko: felieton pomocniczy do testów CPU

Jak działają bottlenecki, czy warto testować CPU w 4K i nie tylko: felieton pomocniczy do testów CPU

Powracając zaś do sugestii z pierwszego akapitu odnośnie GPU klasy Radeon RX 570, nie ma się co oszukiwać i są to tak słabiutkie karty graficzne, że użycie np. Ryzena 7 7600 czy nawet Core i9-13900K zamiast Core i5-13400F absolutnie niczego by zmieniło, jeśli chodzi o ich osiągi. Tak samo, zamiana Core i7-10700F na Ryzena 7 7800X3D nie sprawiłaby, że w magiczny sposób GeForce RTX 4080 wygenerowałby w tamtym demo Unreal Engine 5.4 ~60 FPS w 4K, jako że jak widać na załączonym filmie, użyty procesor był wystarczający i mamy pełne obciążenie GPU (99%). Choć należy wspomnieć o jeszcze dwóch rzeczach, które rozszerzają zaprezentowaną teorię. Po pierwsze, wydajność Waszego procesora w grach do pewnego stopnia zależy od tego, czy macie w komputerze GeForce'a, czy Radeona, a konkretniej od tzw. narzutu sterownika graficznego i dla DirectX 11 od wsparcia wielowątkowości (albo jej braku). Ale co warto dodać, dla gier korzystających z API DirectX 12 i/lub Vulkan różnice z tego tytułu są typowo niewielkie. Po drugie, maksymalna wydajność GPU (tj. przy braku wąskiego gardła ze strony CPU) zależy też od charakterystyki platformy, m.in. od przepustowości i opóźnienia pamięci RAM oraz latencji połączenia PCIe. Przy czym w praktyce aspekt ten jest tak nieistotny, że w rozważaniach można go pominąć całkowicie i absolutnie nie musicie się obawiać, że Wasza karta będzie zauważalnie wolniejsza np. we współpracy z AMD AM4 niż z AM5 czy Intel LGA 1700.

Jak działają bottlenecki, czy warto testować CPU w 4K i nie tylko: felieton pomocniczy do testów CPU

Sprawdzanie wydajności procesorów w rozdzielczości 4K - czy ma to sens?

A ponieważ kwestia wąskich gardeł jest omówiona, czas przejść do testowania CPU w wysokiej rozdzielczości. Jak wiemy, liczba pikseli ma znaczący wpływ na osiągi kart graficznych, które po zwiększeniu rozdzielczości generują wyraźnie mniej FPS. Ale dla procesorów sprawa, jak to już pokazywaliśmy w przeszłości, wygląda zupełnie inaczej i liczba pikseli w większości gier nie ma żadnego wpływu na wydajność CPU, a w niektórych co prawda ma, jednak minimalny. Tyle, że jeśli chodzi o testowanie, do głosu dochodzi właśnie zjawisko bottlenecków, które sprawia, że po podniesieniu rozdzielczości używane GPU może zacząć spowalniać procesory, wpływając na uzyskiwane wyniki. To, w jakim dokładnie stopniu owe zjawisko ma miejsce (o ile w ogóle), nazwijmy balansem CPU/GPU i ten balans w ramach danej gry zależy od kilku czynników: wybranego miejsca testowego i zmiennych warunków jak np. pora dnia, ustawionej rozdzielczości i detali czy wykorzystywanej karty graficznej. Innymi słowy, możliwych kombinacji jest mnóstwo, toteż zasadnym pytaniem jest, czy da się w ogóle zrobić takie testy, które stanowiłyby wyznacznik w wypadku ogólnym, a nie tylko dla jakiegoś bardzo szczególnego. By to sprawdzić, zacznijmy od analizy wpływu używanego GPU, na przykładzie gry Dragon's Dogma 2:

Co do warunków testu, wszystkie pomiary były przeprowadzane we współpracy z pamięcią RAM Patriot Viper Elite 5 RGB TUF, w wersji 2x16 GB 6600 MHz CL 34 (jej test znajdziecie tutaj). Zaś limity mocy były ustawione zgodnie z TDP, czyli 125 W dla Core i9-14900K oraz 65 W dla Core i5-13400F. A przechodząc do konkretów, jak widać na wykresie, przy wykorzystaniu GeForce'a RTX 4080 zjawisko wąskiego gardła ze strony GPU nie występuje wcale - bez względu na to, czy mamy rozdzielczość 1080p, czy 4K, różnice między procesorami są identyczne. Ale zmiana na RTX 4070 zaburza tę kolej rzeczy i o ile w 1440p wciąż nie ma bottlenecka, tak w 4K karta graficzna staje się ograniczeniem i przewaga Core i9-14900K nad tańszym modelem topnieje z ok. 34% do zaledwie ok. 8%, co jest różnicą niemal niezauważalną. Jaki z tego wniosek? Niestety taki, że jeśli na przykład przeglądamy test CPU w 4K wykonany z użyciem GeForce'a RTX 4090, a w obudowie mamy słabsze GPU, to (chociaż rzadko sobie zdajemy z tego sprawę) jest on dla nas bezużyteczny, gdyż jak pisałem wcześniej, nie ma czegoś takiego jak nieskończone przyspieszanie karty graficznej przez coraz szybszy procesor, tj. przyrostów wydajności ze wspomnianej recenzji u siebie nie zobaczymy albo będą one dużo niższe.

Kolejna rzecz, którą będę analizować bliżej, to warunki testu, gdzie jak się okazuje, nie tylko wybrana lokalizacja może mieć wpływ na balans CPU/GPU, lecz także m.in. pora dnia i właśnie taka zależność ma miejsce w Dragon's Dogma 2. Tym razem używany jest tylko GeForce RTX 4080, za to zmienną jest dzień i noc, gdzie okazuje się, że ten pierwszy wariant znacząco mocniej obciąża kartę graficzną, a procesor tylko marginalnie bardziej. Efekt jest taki, że o ile nocą przewaga Core i9-14900K nad Core i5-13400F wynosi w 4K wspomniane wcześniej ~34%, tak w dzień różnica spada do ok. 12%, co jest może bardziej zauważalną supremacją niż ~8%, choć w dalszym ciągu skromną. A inaczej rzecz ujmując, balans CPU/GPU w większości gier jest rzeczą bardzo płynną, zmieniając się w znacznym stopniu, kiedy przemierzamy świat gry. Bynajmniej nie oznacza to, że do świeżych produkcji wystarczy słaby procesor, by mnie nikt źle nie zrozumiał, ale znowu warto zwrócić uwagę na to, że w wysokiej rozdzielczości często nie zobaczymy w ogólności takich zysków, jakie może sugerować odpowiednio dobrany scenariusz testowy, kładący nacisk na minimalizację wąskiego gardła.

Na deser zostały jeszcze detale, których redukcja typowo bardziej odciąża kartę graficzną niż procesor. Dokładnie taką zależność widzimy w Starfield, gdzie z RTX-em 4080 na pokładzie, w 4K dla detali ultra mamy pomijalną, ok. 4% przewagę Core i9-14900K nad i5-13400F. Ale po obniżeniu ustawień do średnich, nawet przy tak dużej liczbie pikseli bottleneck ze strony GPU znika niemal całkowicie, zaś różnica między tymi CPU rośnie do ok. 31%, co jest sporą dysproporcją. Więc podsumowując, wymienione wcześniej aspekty bez wyjątku mają duży wpływ na balans CPU/GPU, a to sprawia, że czytając jakiś test procesorów w 4K, jego wyniki są dla nas wartościowe w kontekście danej gry, jeżeli: mamy tę samą kartę graficzną, gramy tylko w miejscu użytym na potrzeby tej recenzji i mamy identycznie ustawione detale. Koniec końców sprawia to, iż prawdopodobieństwo, że są użyteczne, jest... niskie. Dlatego, jako że zwyczajnie nie da się opracować takiego scenariusza testowego CPU dla wysokich rozdzielczości, który nie stanowiłby skrajnie wąskiego wycinka rzeczywistości, tylko był sensowny w ogólnym wypadku, w nowej procedurze nic się nie zmieniło i w dalszym ciągu pomiary są wykonywane w 1080p. Ale zostały dodane pomiary z włączonym śledzeniem promieni, ponieważ RT w niektórych grach potrafi drastycznie podnieść wymagania wobec procesora (patrz tutaj), ergo to scenariusz, który warto badać.

Jak działają bottlenecki, czy warto testować CPU w 4K i nie tylko: felieton pomocniczy do testów CPU

Kontynuując jeszcze temat, nie jest to jedyna przyczyna, dla której porównań CPU w 4K nie zobaczycie na łamach ITHardware. Następną jest to, że zwyczajnie wprowadzają one w błąd, będąc podstawą dla takich twierdzeń, jak zaprezentowane na początku felietonu, tzn. przekładania ich rezultatów, typowo uzyskiwanych z topowym GPU na pokładzie, na każde możliwe warianty, nawet dema technologiczne, które typowo obciążają procesory w stopniu minimalnym, tudzież bardzo wolne karty graficzne, którym wykorzystany CPU nie robi żadnej różnicy (patrz teoria i praktyka odnośnie wąskich gardeł). Poza tym testy procesorów w 4K w najlepszym przypadku pokazują to samo co dla 1080p (patrz pomiary w Dragon's Dogma 2), tj. nie wnoszą absolutnie niczego nowego. Zaś w najgorszym są wykonywane przy częściowym albo całkowitym bottlenecku ze strony GPU, co jest po prostu odpowiednikiem nieprawidłowo przeprowadzonych pomiarów dla niższej rozdzielczości, przy zbyt słabej karcie graficznej bądź źle dobranej lokalizacji (patrz tutaj). Aczkolwiek rzecz jasna zdaję sobie sprawę, że część Czytelników i tak chciałaby zobaczyć testy CPU w 4K, ale rolą redakcji nie jest spełnianie wszystkich życzeń, bez względu na ich sensowność, lecz przede wszystkim edukowanie i to właśnie czynimy.

Jak działają bottlenecki, czy warto testować CPU w 4K i nie tylko: felieton pomocniczy do testów CPU

Jak działają bottlenecki, czy warto testować CPU w 4K i nie tylko: felieton pomocniczy do testów CPU

Kilka słów na temat wskaźnika obciążenia układu graficznego i Resizable BAR

Zasadniczo na tym można by już zakończyć dzisiejsze rozważania, ale zostały jeszcze dwie ciekawostki. Pierwsza z nich to dokładność wskaźnika użycia GPU, gdzie dla nowoczesnych układów graficznych ważnym czynnikiem jest zarządzanie energią, tj. obniżanie zegara rdzenia przy mniejszym obciążeniu. Praktyczną ilustrację tego zjawiska mamy w Assassin's Creed: Mirage, gdzie jak widzimy, w 720p wydaje się, że jesteśmy na granicy wąskiego gardła ze strony GPU, wszak użycie karty to prawie 90%. Ale po podbiciu rozdzielczości do 1440p nic się nie dzieje i FPS nie spada. Dlaczego? Dlatego, że tak naprawdę w 720p nie byliśmy nawet w pobliżu bottlenecka, co widać patrząc na bardzo niski zegar układu graficznego, równy jedynie 1440 MHz. Innymi słowy, w 1440p akcelerator po prostu wszedł na wyższe obroty, podnosząc częstotliwość na tyle, na ile było to niezbędne, żeby nie zaniżać FPS - w tym konkretnym przypadku do 1950 MHz. Zatem patrząc na obciążenie GPU, chociażby po to, żeby zobaczyć, czy nie przydałby się nam szybszy procesor, należy brać pod uwagę również zegar rdzenia, który stanowi wskazówkę, czy rzeczywiście karta graficzna jest blisko limitu swoich możliwości, czy też nie.

Jak działają bottlenecki, czy warto testować CPU w 4K i nie tylko: felieton pomocniczy do testów CPU

Jak działają bottlenecki, czy warto testować CPU w 4K i nie tylko: felieton pomocniczy do testów CPU

I teraz rzecz już naprawdę ostatnia, tj. Resizable BAR. Jak wiadomo, ta opcja potrafi w niektórych grach wyraźnie zwiększyć wydajność karty graficznej, ale jaki jest jej wpływ na procesor? Jak się okazuje, czasami destrukcyjny, co ma miejsce m.in. w Call of Duty: Modern Warfare III. W tej konkretnej grze ReBAR jest dla GPU firmy NVIDIA domyślnie wyłączony, ale można go aktywować poprzez edycję profilu aplikacją NVIDIA Profile Inspector. Tyle, że powoduje to drastyczny spadek osiągów CPU, jak widać na zrzutach ekranu, o bagatela ~35% i warto dodać, że z ReBAR mamy niższe obciążenie procesora i najpewniej to ono jest przyczyną utraty FPS. Notabene, gdy szukałem lokalizacji do testów kart graficznych w tej produkcji, musiałem odrzucić jedno miejsce z uwagi na duże kłopoty z wąskim gardłem ze strony CPU dla Radeonów. Początkowo myślałem, że to wina sterowników AMD, jednak jak się okazuje bynajmniej, a problem jest po stronie ReBAR, które dla czerwonych układów jest domyślnie włączone we wszystkich grach. Jak więc widać, selekcja którą prowadzi pod tym kątem NVIDIA, nie jest takim złym pomysłem, jak mogłoby się pozornie wydawać, bo efekty uboczne potrafią być brutalne. Jednocześnie w tym miejscu żegnam się z Wami i zapraszam do sekcji komentarzy, gdzie można podzielić się swoim zdaniem. Czyńcie to śmiało, nawet jeżeli się nie zgadzacie z moim, gdyż o wątpliwościach warto dyskutować.

Obserwuj nas w Google News

Pokaż / Dodaj komentarze do: Jak działają bottlenecki, czy warto testować CPU w 4K i nie tylko: felieton pomocniczy do testów CPU

 0
Kolejny proponowany artykuł
Kolejny proponowany artykuł
Kolejny proponowany artykuł
Kolejny proponowany artykuł