Jak zmniejszyć input lag w grach na PC
Input Lag to opóźnienie w generowaniu grafiki, które sprawia, że sterowanie w grze jest utrudnione. Mamy wrażenie, że kursor w grze działa z opóźnieniem, a jego ruchy są nadmiernie „wygładzone”. Określa się to mianem „pływającego kursora”. Zobacz, jak zmniejszyć input lag w grze, aby sterowanie było bardziej responsywne.
Zauważyliście, że w niektórych grach kursor myszy działa tak samo, jak na Pulpicie, a w innych jest nadmiernie „wygładzony”, posiada swego rodzaju akcelerację i robi wrażenie, jakby pływał po ekranie? Ruchy są mało dokładne i ciężko o precyzję. Podczas przesuwania kursora (lub podczas obracania kamery jakieś w grze) odczuwane jest też lekkie opóźnienie. To właśnie tzw. input lag.
Co powoduje input laga w grze?
Należy rozróżnić dwa rodzaje opóźnień. Pierwszy rodzaj to opóźnienie spowodowane np. przez telewizor LCD, na które narzekają osoby podłączające komputer do dużego ekranu. Źródłem tego typu opóźnienia jest słaba specyfikacja telewizora lub po prostu nadmierna ilość dodatkowych funkcji, które ulepszają obraz (wszelkie funkcje wygładzające ekran, usuwające szumy, podciągające dynamicznie kontrast czy sztucznie podbijające płynność). Rozwiązaniem jest wyłączenie w opcjach telewizora wszelkich dodatków, które ulepszają wyświetlany obraz. Często znajdziemy także tzw. „Tryb gry” (Game Mode), który automatycznie wyłącza takie rzeczy – gdy go uaktywnimy, to od razu zauważymy, że opóźnienie jest dużo mniejsze. Warto tu także zaznaczyć, że w przypadku zakupu telewizora lub monitora producent podaje, jaki jest "input lag" i możemy go sprawdzić w specyfkacji. Dla telewizorów bardzo dobrze jest wtedy, gdy wynosi on poniżej 20ms.
Drugi rodzaj opóźnienia, który pojawia się nawet na dobrych monitorach, to taki, który spowodowany jest przez synchronizację pionową w grach (VSync) i o tym żadnej informacji w specyfikacji produktu nie znajdziemy. Synchronizacja pionowa jest wymagana w ekranach LCD do prawidłowego wyświetlania obrazu. Dzięki niej nie dochodzi do efektu „rozrywania ekranu” (screen tearing) i wyświetlania różnego rodzaju artefaktów. Ilość klatek na sekundę w grze jest także ograniczana najczęściej do 60 FPS, czyli do liczby zgodnej z częstotliwością odświeżania ekranu (większość monitorów LCD/LED posiada odświeżanie na poziomie 60Hz).
Wszystko to odbywa się jednak pewnym kosztem – synchronizacja pionowa wprowadza input lag, czyli opóźnienie w sterowaniu. Ruchy kursorem myszy wydają się nazbyt upłynnione, często czuć po prostu opóźnienie między tym, co wykonujemy myszką, a tym co jest wyświetlane na ekranie. Ruchy myszką sprawiają wrażenie „poruszania palcem po wodzie”. Niektórzy nazywają ten efekt pływającym kursorem. Oczywiście, opóźnienie jest na tyle niskie, że wizualnie go nie zauważymy – jest ono jednak odczuwalne w trakcie gry, zwłaszcza w takich tytułach, gdzie liczy się czas reakcji i precyzja. Ten rodzaj opóźnienia możemy dość znacznie zmniejszyć za pomocą ustawień w karcie graficznej lub w samej grze.
Metoda #1 – Wyłącz całkowicie synchronizację pionową
Chcesz szybko wyeliminować input laga? Najprostszym sposobem jest po prostu całkowite wyłączenie synchronizacji pionowej w grze. Jest to najlepszy i najprostszy sposób na całkowite wyeliminowanie opóźnienia.
Niestety spowoduje to tzw. rozrywanie ekranu, czyli wspomniany „screen tearing”. Po prostu w trakcie gry zauważymy, że pojawiają się pewne „paski” klatek, które są ustawione w złej pozycji w porównaniu do reszty obrazu. Widać to na powyższej animacji.
- Wyłącz Vsync w opcjach gry
VSync można zazwyczaj wyłączyć w grach – wystarczy w trakcie gry wejść do opcji graficznych, a następnie poszukać opcji o nazwie „Vsync”, „Vertical Synchronization” lub „Synchronizacja pionowa” (jeśli gra jest po polsku). Odznaczenie tej opcji i potwierdzenie ustawień sprawi, że opóźnienie zostanie ograniczone do minimum.
- Wyłącz Vsync w ustawieniach karty NVIDIA
Jeśli gra nie ma takiej opcji, to VSync możemy także wyłączyć za pomocą ustawień karty graficznej. W przypadku kart graficznych NVIDIA należy kliknąć prawym przyciskiem myszy na Pulpicie i wybrać „Panel sterowania NVIDIA”. Następnie z menu bocznego wybierz „Zarządzanie ustawieniami 3D”.
Jeśli chcesz wyłączyć synchronizację pionową globalnie, czyli dla wszystkich gier za jednym razem, to w zakładce „Ustawienia globalne” znajdź pole „Synchronizacja pionowa” i ustaw mu wartość „Wyłącz”.
Z kolei jeśli chcesz wyłączyć VSync tylko dla wybranej gry, to po prawej stronie wybierz zakładkę „Ustawienia programu”, a następnie wybierz z listy swoją grę. Po wybraniu gry pojawią się opcje graficzne, które można edytować. Znajdź na liście pozycję „Synchronizacja pionowa” i ustaw jej wartość na „Wyłącz”.
- Wyłącz VSync w ustawieniach karty AMD
Podobnie można to zrobić w kartach graficznych Radeon. Kliknij prawym przyciskiem myszy na Pulpicie i wybierz „AMD Control Center”. Pojawi się okno ustawień karty Radeon. W górnym prawym rogu kliknij „Preferences” i wybierz opcję pokazywania ustawień zaawansowanych.
Po lewej stronie wybierz zakładkę „Gaming > 3D Application Settings”. Jeśli chcemy wyłączyć synchronizację pionową dla wszystkich gier za jednym razem, to w zakładce „System settings” znajdź opcję „Wait for Vertical Refresh” (Czekaj na odświeżanie pionowe) i ustaw jej wartość „Always off” (Zawsze wyłączone).
Jeśli chcemy wyłączyć VSync tylko dla wybranej gry, to należy pod zakładką „System settings” kliknąć w przycisk „Add…” i wskazać plik *.EXE gry, której ustawienia chcemy zmienić. Gra zostanie dodana jako osobna zakładka w panelu AMD – wystarczy ją wybrać i tylko dla niej wyłączyć opcję „Wait for Vertical Refresh”.
Jeśli macie sterowniki z oprogramowaniem Radeon Crimson, to również można zrobić to samo. Otwieramy panel Radeon Crimson, a następnie przechodzimy do zakładki "Gaming". Wyświetlą się tu rozpoznane gry. Wybierz grę na liście, dla której chcesz wyłączyć Vsync.
Pojawią się szczegółowe opcje graficzne dla danej gry. Poszukaj tu opcji o nazwie "Wait for Vertical Sync". Kliknij w nią i z rozwijanego menu wybierz opcję "Off". Zapisz zmiany. Vsync będzie teraz wyłączony dla danej gry. Jeśli chcesz wyłączyć Vsync dla wszystkich gier, to w sekcji Gaming znajdziesz opcje globalne, gdzie możesz zrobić to samo dla każdego tytułu.
Metoda #2 – Zmniejsz input lag bez wyłączania Vsync
Istnieje metoda na obniżenie opóźnienia bez wyłączania synchronizacji pionowej. Wystarczy ograniczyć ilość klatek na sekundę do 58 lub do innej wartości, poniżej której nigdy nie schodzimy. Jeśli utrzymujemy w grach 60 FPS, to wystarczy ograniczyć FPS do 58. Jeśli jednak FPS nam skacze między 45 a 60, to warto ograniczyć go do 45, czyli do tej najmniejszej wartości którą zyskujemy. Skutecznie zmniejsza to opóźnienie i sprawia, że gra jest dużo bardziej responsywna. Co więcej, możemy pozostawić synchronizację pionową włączoną, więc unikniemy efektu rozrywania ekranu. Jak więc ograniczyć FPS w grze do 58 lub mniejszej wartości?
- Ograniczanie FPS w kartach NVIDIA
Jeśli mamy kartę NVIDIA, to możemy użyć programu NVIDIA Inspector. Uruchom NVIDIA Inspector, a następnie kliknij w przycisk edycji profili gier (tuż obok pola Driver Version). Pojawi się nowe okno szczegółowej edycji profili.
Z rozwijanego menu wybierz grę, dla której chcesz zmienić profil. Załaduj profil, a następnie poszukaj pola o nazwie „Frame Rate Limiter”. Ustaw tu wartość 58 FPS z rozwijanej listy. Jeśli nie jesteś w stanie utrzymać na stałe 58 FPS, to możesz ograniczyć FPS do mniejszej wartości.
Po wszystkim zapisz zmiany przyciskiem „Apply changes” w górnym prawym rogu. Bez zapisania zmian nie będą one obowiązywać!
- Ograniczanie FPS w kartach AMD
W przypadku AMD możemy użyć programu o nazwie RadeonPRO. Podobnie jak NVIDIA Inspector, RadeonPRO pozwala na bardziej zaawansowaną edycję profili. Pobierz i uruchom program, a następnie kliknij w ikonę z plusem na górnym pasku narzędzi, aby dodać grę do edycji.
Wskaże plik *.EXE z grą, której ustawienia graficzne chcesz edytować. Następnie zaznacz grę na liście w RadeonPRO i udaj się do zakładki „Tweaks” po prawej stronie. Zaznacz pole „Dynamic Framerate Control” i w polu „Keep up to” wpisz „58” lub mniejszą wartość, którą wiesz, że zawsze uzyskasz (np. 45 FPS).
Jeśli natomiast macie panel sterowania Radeon Crimson, to nie musicie instalować RadeonPRO. Najnowszy panel sterowania dla kart AMD posiada wbudowaną opcję ograniczania FPS. Wystarczy go uruchomić i przejść do zakładki "Gaming", a następnie wybrać grę, w której chcemy ograniczyć FPS.
Pojawią się szczególowe opcje. Nas interesuje ta opcja, która wyświetla się na dole wraz z suwakiem, czyli "Frame Rate Target Control". Uaktywnij tę opcję, a następnie za pomocą suwaka ustaw wartośc FPS na 58 lub innej, poniżej którego nigdy nie schodzisz.
Od teraz gra nie będzie mogła osiągnąć więcej niż 58 FPS lub inną wybraną przez Ciebie wartość. W praktyce zupełnie tego nie odczujemy – 58 FPS to wciąż niesamowicie płynny obraz i niczym nie różni się od legendarnych 60 FPS, które każdy z graczy chce uzyskać. Wpłynie to natomiast pozytywnie na responsywność gry. Input lag jest znaczenie mniejszy, gdy FPS jest ograniczony do stałej liczby. Co więcej, dzięki tej metodzie nie musimy wyłączać synchronizacji pionowej, a więc nie otrzymamy efektu „rozrywania ekranu”. Możemy tę operację wykonać dla każdej gry, w której kursor „pływa” – rewelacyjnie działa to np. na grę Skyrim, w której domyślnie kursor działa wybitnie źle i jest sztucznie