Niższe FPS, a jednak płynniej: skąd się bierze „magia” w grach

Na pierwszy rzut oka to brzmi jak psikus: uruchamiasz tę samą grę, masz podobne parametry sprzętu, a mimo to jedna konfiguracja nagle daje wrażenie gładkiej animacji. W innym ustawieniu licznik FPS pokazuje wyższe wartości, ale ruch jest poszarpany, jakby gra oddychała nierówno. Zjawisko da się wytłumaczyć, tylko trzeba spojrzeć szerzej niż na samą średnią liczby klatek.

Ja to łapię dość często w testach „dziwnych” ustawień. W pewnym FPS-owym shooterze na jednym profilu wszystko wyglądało lepiej wizualnie przy niższym wyniku z benchmarku. W logach nic dramatycznego, ale czas reakcji sterowania i opóźnienia w łańcuchu renderowania robiły różnicę. I właśnie to, bardziej niż sam FPS, decyduje o odczuciu płynności.

FPS to licznik, a płynność to rytm

Średni FPS nie mówi całej prawdy. Możesz mieć 120 klatek na sekundę, ale jeśli co kilka chwil pojawia się „dziura”, czyli jednorazowe mocniejsze przycięcie, to mózg to wyłapuje natychmiast. Płynność w praktyce to powtarzalny rytm dostarczania ramek.

Dlatego dwie konfiguracje mogą wyglądać tak samo na wykresie średniej, a różnić się w odczuciach. Jeśli jedna daje bardziej stabilne czasy między klatkami, gra będzie wydawać się płynniejsza nawet wtedy, gdy średnia liczba jest niższa.

Frametime i mikrozacięcia: gdy „spadek” jest bardziej istotny niż średnia

Zamiast patrzeć na FPS, warto myśleć o frametime, czyli czasie potrzebnym do przygotowania i wyświetlenia każdej klatki. Gdy ten czas jest równy jak marsz, ruch jest gładki. Gdy czas skacze, nawet jeśli średnia wychodzi dobrze, pojawiają się mikrozacięcia.

W praktyce te skoki mogą wynikać z chwilowych zatorów: jednego zasobu, który ładuje się w tle, przeliczenia jakiegoś systemu gry albo krótkiej przebudowy buforów. To nie musi być „twarde” dropowanie, wystarczy kilka słabszych ramek w krytycznym momencie.

Limiter FPS, V-Sync i opóźnienia, które nie są wprost widoczne

Wiele osób ustawia „na oko” wyższy FPS i uważa, że skoro licznik rośnie, to znaczy lepiej. Tymczasem limiter klatek, V-Sync czy technologie typu G-Sync i FreeSync potrafią zmienić zachowanie całego łańcucha: od momentu, gdy gra zaczyna renderować klatkę, po moment jej wyświetlenia.

Gdy limiter jest dobrany źle, możesz dostać efekty uboczne, które wyglądają jak stuttering. Z kolei dobrze dobrany limit potrafi wygładzić frametime, bo system przestaje próbować na siłę przepchnąć kolejną klatkę w momencie, gdy ekran nie jest gotowy.

Dlaczego „mniej FPS” bywa lepsze: synchronizacja z monitorem

Jeśli ustawienia powodują, że gra często goni tempo odświeżania, łatwo o wahania. Gdy natomiast uda się utrzymać klatki w sensownym zakresie względem Hz monitora, obraz staje się przewidywalny. Wtedy licznik FPS spada, ale rytm renderowania i wyświetlania się stabilizuje.

To klasyczny przypadek: przykładowo celujesz w 165 Hz, ale ciężar sceny sprawia, że realnie wychodzi np. 120–140 FPS. Przy źle ustawionym V-Sync lub limiterze te wartości mogą „pływać” i generować nierówne odstępy. Przy innym profilu obraz jest mniej dynamiczny na papierze, ale za to częściej trafia w równy cykl ekranu.

Buforowanie i liczba klatek w locie (render pipeline)

Gry to nie jest jeden proces „zrób i pokaż”. To łańcuch z buforami, kolejkami i etapami. Czasem masz dwie sytuacje: konfiguracja A daje wyższy FPS, ale buduje dłuższą kolejkę klatek. Konfiguracja B daje mniej FPS, ale kolejka jest krótsza i sterowanie reaguje szybciej.

W efekcie pierwsza konfiguracja może być „ładna” na odczycie, a druga „żywa” w rękach gracza. Z punktu widzenia kogoś, kto gra, liczy się to, czy ruch myszą przekłada się na obraz bez opóźnionej rampy.

Opóźnienia sterowania (input lag) nie muszą iść w parze z FPS

Wrażenie płynności to też opóźnienie między ruchem a tym, co widzisz. Jeżeli gra buforuje więcej klatek, obraz może lagować mimo wysokich wartości FPS. Przy niższym FPS, ale z lepszym dopasowaniem do pipeline, input lag bywa mniejszy.

Ja takie rzeczy czułem przy zmianie ustawień opcji odpowiedzialnych za synchronizację i kolejkę. Po „poprawce” licznik nie rósł tak, jak się spodziewałem, ale strzały i prowadzenie celu przestały być opóźnione. O to w praktyce chodzi.

CPU vs GPU: wąskie gardło potrafi zmienić wszystko

W teorii „podobne parametry” oznaczają podobną wydajność. W praktyce gry często są niewydajne w jednym obszarze i wąskie gardło decyduje o tym, jak będzie wyglądał frametime. Czasem GPU ma zapas, a CPU nie dowozi danych w odpowiednim tempie. Innym razem jest odwrotnie.

Co ważne, te same zmiany ustawień graficznych mogą przesunąć obciążenie. Zamiast obciążać GPU bardziej, możesz zacząć obciążać CPU w inny sposób. To potrafi zmniejszyć liczbę FPS, ale jednocześnie usunąć stuttering wynikający z problemu z synchronizacją zasobów.

Szarpanie na „wysokim FPS” bywa objawem pracy w nierównym tempie

Gdy GPU jest zbyt mocno dociążone, może generować nierówne czasy renderowania. Gdy CPU ma skoki, dotyczy to przygotowania danych do GPU. W obu przypadkach licznik FPS może wyglądać nieźle, ale rozkład czasów klatek robi się nierówny.

Dlatego w przypadku niektórych tytułów ustawienia, które ograniczają obciążenie najbardziej problematycznego elementu, paradoksalnie zwiększają płynność. Gra ma mniej klatek, ale te klatki przychodzą w bardziej regularnych odstępach.

Shader cache, kompilacje i „zimny start”

Jest jeszcze drugi, mniej spektakularny temat, który potrafi wywrócić wynik testów. Gry mogą mieć procesy kompilacji shaderów albo ładowania cache. Na początku sesji wszystko potrafi być nierówne, a potem się wygładza.

Jeżeli w jednym ustawieniu gra częściej uruchamia takie działania, FPS może na moment skakać albo pojawia się stuttering. W innym ustawieniu licznik spadnie, bo np. więcej pracy bierze stabilniejsza ścieżka renderowania, ale jednocześnie mniej dzieje się „w tle”. Efekt dla gracza: płynniej.

Dlaczego to bywa widoczne dopiero po kilku minutach

W wielu grach pierwsze kilkanaście minut potrafi być mniej stabilne, bo cache się buduje. Kiedy uruchomisz drugi profil ustawień, może on „ominąć” część kompilacji albo rozłożyć obciążenie inaczej. Wtedy średni FPS z tego profilu nie musi być lepszy, ale wrażenie jest inne.

To jeden z tych przypadków, gdzie porównywanie wyników „na świeżo” bez rozgrzewki prowadzi do złudzeń.

Ustawienia graficzne: „ciężar” nie oznacza tego samego

Obniżenie FPS w liczniku nie musi wynikać z gorszej jakości renderowania. Czasem chodzi o zmianę sposobu liczenia efektów. Jedno ustawienie może wywołać koszt w postaci drobnych, częstych przeliczeń, a inne ogranicza efekt, ale robi to w sposób bardziej przewidywalny.

Efekt jest taki: profil A daje wyższe FPS, ale generuje regularne mikrozacięcia. Profil B daje trochę niższe FPS, ale frametime jest bardziej równy. I to właśnie ten profil B najczęściej odbierasz jako płynniejszy.

Przykłady efektów, które potrafią psuć rytm

Niektóre opcje graficzne potrafią mieć „nierówny” koszt w zależności od sceny: cień w dynamicznych warunkach, postprocessing w połączeniu z ruchem kamery, albo systemy używające dużej liczby drobnych próbek. Gdy koszt jest zmienny, frametime też robi się zmienny.

W tabeli poniżej zebrałem typowe zachowania, które często widać w testach i w codziennym graniach.

Co obserwujesz Najczęstsza przyczyna „za kulisami” Dlaczego niższy FPS może wyglądać lepiej
Wyższy FPS na liczniku, ale szarpanie Duże wahania frametime, kolejka w render pipeline Niższy FPS stabilizuje rytm dostarczania klatek
Lepsze czucie sterowania przy niższych FPS Różna synchronizacja i buforowanie klatek Mniejsza kolejka daje mniejsze opóźnienie
„Zimne” stuttering w jednym profilu Inna ścieżka kompilacji shaderów, inny cache Stabilniejsza praca po rozgrzaniu
Spadek FPS, ale obraz robi się miękki Dopasowanie limitera do odświeżania monitora Odstępy między klatkami stają się regularne

Jak to sprawdzić w praktyce, a nie na oko

Jeżeli chcesz podejść do tematu jak cyfrowy koczownik, a nie jak ktoś, kto tylko patrzy na ranking, potrzebujesz miernika, który pokazuje stabilność, nie tylko średnią. Wiele gier i nakładek pokazuje frametime, czasami też percentyle.

W praktyce najlepsze porównania robi się tak: testuj te same sceny, po rozgrzaniu, z podobnym zachowaniem kamery. Jeśli w jednym profilu frametime ma mniej skoków, to „płynność” często jest już przesądzona, nawet gdy średni FPS spada.

  • Porównuj percentyl 1% albo 0,1%, nie tylko średnią FPS.
  • Ustaw limiter i synchronizację w spójny sposób, nie przypadkowo.
  • Sprawdź, czy problem znika po kilku minutach grania (cache i shadery).
  • Jeśli masz różne wyniki między scenami, to szukaj efektów o kosztach zależnych od obrazu.

Dlaczego część graczy przysięga na „gorsze” ustawienia

Wiele osób ma swoje „profile”, które działają im zauważalnie lepiej, mimo że parametry z benchmarku nie brzmią imponująco. To nie jest magia. Najczęściej to dopasowanie ustawień pod rytm frametime, pod zachowanie synchronizacji i pod to, jak gra zarządza buforami.

Gdy wchodzisz w tryb rywalizacji, te różnice wychodzą najbardziej: mniej szarpania, mniejszy input lag, większa przewidywalność. A przewidywalność to w FPS-e i grach akcji największy komfort.

Co z odpowiedzią na pytanie: „dlaczego niższy FPS potrafi być płynniejszy”?

Jeżeli zebrać to w jedno, to chodzi o to, że płynność nie jest tylko o liczbie klatek. Jest o stabilności dostarczania obrazu oraz o opóźnieniach i synchronizacji między grą, sterownikiem, GPU, CPU i monitorem. Niektóre konfiguracje redukują wąskie gardła i zmniejszają wahania frametime, więc gra wygląda lepiej mimo niższego wyniku.

To dlatego właśnie czasem trafiasz na ustawienia, które na papierze wydają się „gorsze”, a w rękach są przyjemniejsze. Gdy rytm klatek staje się równy, mózg przestaje widzieć problem, a zaczyna odbierać obraz jak gładki ruch. I wtedy odpowiedź na pytanie „Dlaczego niektóre gry działają płynniej przy niższym FPS mimo podobnych parametrów sprzętu?” przestaje brzmieć jak zagadka, a staje się prostą konsekwencją działania całego łańcucha.

I tak kończy się jedna z tych lekcji, które lubię: licznik to początek historii, ale dopiero frametime i zachowanie synchronizacji domykają temat. Reszta to już tylko znalezienie ustawień, które w twoim układzie nie robią przerw w rytmie, a zamiast tego dowożą obraz przewidywalnie, klatka po klatce.