Niedawno zbudowałem nowy komputer. To nie jest oszałamiająco niesamowite , ale jest całkiem solidne i mogę na nim grać w każdą grę z mojej biblioteki Steam. Bawiłem się ustawieniami grafiki w Borderlands 2. W tej chwili mam wszystko na wysokim poziomie, a FPS jest ustawiony na nieograniczoną liczbę. Licznik FPS waha się dziko od 60-200. Chociaż podczas normalnej rozgrywki pozostaje dość blisko 70-90. Nie doświadczyłem zerwania ekranu. Zauważyłem, że istnieją ustawienia ograniczające liczbę klatek na sekundę. Dostępne ustawienia to:
smoothed 22-62 capped 30/50/60/72/120 unlimited
Czy jest jakiś powód, aby NIE korzystać z nieograniczonej liczby?
Komentarze
- Nieograniczona liczba klatek na sekundę może powodować rozrywanie ekranu. Dla niektórych osób (łącznie ze mną) to naprawdę denerwujące. Funkcje takie jak synchronizacja pionowa mogą to złagodzić, ale kosztem niewielkiego opóźnienia.
- Ograniczenie liczby klatek na sekundę może zmniejszyć obciążenie karty graficznej. Jest to szczególnie przydatne na platformach o ograniczonej temperaturze, takich jak laptop.
Odpowiedź
Ograniczenie liczby klatek na sekundę może mieć kilka korzyści:
- Zmniejszone zużycie energii
- Zmniejszona produkcja ciepła
- Zmniejszony hałas (wolniejsze wentylatory chłodzące)
Ograniczenie liczby klatek na sekundę jest szczególnie korzystne w przypadku laptopów i innych komputerów przenośnych, ponieważ zapewnia doskonały sposób, aby laptop nie zużywał baterii, a także nie wypalił dziury w kroczu.
Pamiętaj, że ograniczenie liczby klatek na sekundę to nie to samo, co użycie synchronizacji pionowej .
Ograniczenie liczby klatek na sekundę nie spowoduje zmniejszenia ekranu Ograniczenia liczby klatek na sekundę po prostu ograniczają liczbę klatek, które może wygenerować karta wideo; nie zmuszają karty wideo do czekania, aż monitor rozpocznie nowy cykl odświeżania.
Jeśli generowana przez Ciebie liczba klatek na sekundę jest bliska 55-75 fps, możesz chcieć ograniczyć go do 50 lub 60 as t skoki do poziomu 75 będą miały wrażenie, jakby gra zwalniała, gdy spadnie do 55, to tylko przykład, a rzeczywiste klatki na sekundę mogą się różnić.
Korzystanie z synchronizacji pionowej przekazuje wszystkie korzyści wymienione powyżej dotyczące ograniczenia liczby klatek na sekundę, z dodatkową korzyścią w postaci eliminacji zrywania ekranu; ma jednak tę wadę, że dodaje pewne opóźnienie.
Odpowiedź
Podsumowanie
Generowanie większej liczby ramek, niż można wyświetlić na monitorze, jest stratą energii; rozrywanie klatek można wyeliminować tylko przez synchronizację wideo, ale można je zminimalizować, ograniczając liczbę klatek na sekundę na częstotliwości monitora. Jednak opóźnienie wejścia jest kwestią pokrewną.
Szczegóły
Rysunek na podstawie mojego doświadczenia w pisaniu systemów GUI wydaje mi się, że poniższe stwierdzenia muszą być prawdziwe.
Biorąc pod uwagę dwa skwantyzowane systemy, (a) generowanie obrazu i (b) renderowanie obrazu, wszelkie rozbieżności między szybkościami muszą czasami powodować zerwanie, jeśli nie są one wzajemnie wykluczane z występowania współbieżnego (przez synchronizację GPU i monitor), a wszelkie liczby klatek na sekundę przekraczające fizyczne ograniczenia monitora są marnowane. Idealnie byłoby, gdyby dokładne dopasowanie szybkości, przesunięte o połowę interwału, zminimalizowałoby lub wyeliminowało rozrywanie i nie marnowało żadnych obliczeń.
Można to łatwo wizualizować w następujący sposób, zakładając monitor 62,5 Hz i całe milisekundy dla uproszczenia:
Time (16"ms) : 0---------------1---------------2---------------3 Monitor Frames: x---------------x---------------x---------------x GPU @ 62.5 FPS: x---------------x---------------x---------------x GPU @ 62.5 FPS: --------x---------------x---------------x-------- GPU @ 125 FPS : x-------x-------x-------x-------x-------x-------x GPU @ 125 FPS : ----x-------x-------x-------x-------x-------x---- GPU @ 90 FPS : x----------x----------x----------x-----------x--- GPU @ 90 FPS : ------x----------x----------x-----------x-------- Monitor Frames: x---------------x---------------x---------------x Time (16"ms) : 0---------------1---------------2---------------3
Jak widać, jeśli monitor ma częstotliwość 62,5 Hz, to optymalna liczba klatek na sekundę wynosi 62,5 kl./s; przy 90 FPS (czyli w rzeczywistości jedna klatka co 11,11 „ms) mamy niedopasowanie, które spowoduje utratę jednej klatki mniej więcej co trzeci interwał; przy 125 FPS mamy jedną klatkę traconą w każdym interwale. Jeśli nigdy tego nie widziałeś, czy klatka była potrzebna ?
Tak więc, biorąc pod uwagę ograniczenie liczby klatek na sekundę na urządzeniu fizycznym, nie można dostrzec szybkości większej niż możliwości monitora, ponieważ dodatkowe klatki po prostu nie są widoczne. Z tego wynika logiczne, że ograniczenie liczby klatek na sekundę na monitorze częstotliwość odświeżania skutkuje maksymalną dostrzegalną jakością ruchu. Dlatego wydaje się logiczne, że generowanie ramek powyżej częstotliwości odświeżania monitora po prostu marnuje energię elektryczną.
Biorąc pod uwagę, że nie można zapobiec rozerwaniu bez względu na to, co robisz bez synchronizacji monitora, nadal znacznie lepiej jest ograniczyć liczbę klatek na sekundę i przeznaczyć tę moc obliczeniową na generowanie większej liczby szczegółów na klatkę, a gdy to maksimum zostanie osiągnięte, po prostu oszczędzaj energię i ograniczaj straty ciepła.
Moje dwa centy.
Visual Acu ity
Właściwie możesz to dostrzec, nawet jeśli masz monitor 144 Hz. Większość danych wskazuje, że FPS ma znaczenie tylko do około 60 do 120 Hz, z wnioskiem, że 90 Hz (FPS) dla większości ludzi jest granicą dla zauważalnej wizualnie poprawy. Ale każda osoba jest wyjątkowa, a zwykli gracze należą do najbardziej wrażliwych na artefakty ruchu, ponieważ można wyszkolić swój system wizualny.
Fajny artykuł na ten temat to http://www.pcgamer.com/how-many-frames-per-second-can-the-human-eye-really-see/
Opóźnienie wprowadzania
(Dzięki Atli dla tego komentarza.)
Biorąc to wszystko pod uwagę, warto tutaj zauważyć, że ograniczenie liczby klatek na sekundę do odświeżania ekranu może spowodować zauważalne opóźnienie wejścia podczas gry. IE: z odświeżaniem klatki 16 ms, jeśli klatka jest renderowana w 1 ms natychmiast po odświeżeniu, będzie musiała siedzieć tam przez 15 ms, czekając, co w efekcie tworzy 15 ms opóźnienie między ruchem a wyświetlaniem tego ruchu.
Gry są również podatne na ograniczanie cykli sztucznej inteligencji / logiki do cykli renderowania, co również powoduje opóźnienia. Renderowanie przy 3-krotnym odświeżeniu ekranu sprawi, że będzie to dużo mniej zauważalne, ponieważ wyświetlona ramka będzie renderowana bliżej czasu wyświetlania.
W takim przypadku, ograniczenie do odpowiedniej wielokrotności odświeżania ekranu rate może być nadal opłacalny z nowoczesnym GPU, utrzymując opóźnienie poniżej pewnego pożądanego progu.
Komentarze
- Warto dodać tl; dr lub podsumowanie, ponieważ jest to dość techniczna odpowiedź, ale +1 dla szczegółowej odpowiedzi
- Warto w tym miejscu ' wskazać, że ograniczenie liczby klatek na sekundę do odświeżania ekranu może (i zwykle to robi) powoduje zauważalne opóźnienie wejścia. IE: przy odświeżaniu klatki 16 ms, jeśli klatka jest renderowana w 1 ms bezpośrednio po odświeżeniu, ' będziesz musiał czekać 15 ms, co w efekcie tworzy 15-ms opóźnienie między ruchem a wyświetlanie tego ruchu. Gry są również podatne na ograniczanie cykli sztucznej inteligencji / logiki do cykli renderowania, co również powoduje opóźnienia. Renderowanie z 3-krotnym odświeżeniem ekranu sprawi, że będzie to dużo mniej zauważalne, ponieważ wyświetlana ramka będzie renderowana bliżej czasu wyświetlania.
Odpowiedź
Jest kilka powodów, dla których warto to zrobić:
- Redukcja ciepła
W przypadku słabszych kart graficznych często warto ograniczyć liczba klatek na sekundę w grach, więc nie przegrzewają się. W razie potrzeby można jej również użyć do ograniczenia zużycia energii.
- Rozrywanie ekranu
Jeśli zauważysz umiarkowane rozrywanie ekranu (gdy obraz pokazany na ekranie staje się „pęknięty” z powodu ruchu kamery) ograniczenie szybkości klatek jest przydatne. V-Sync próbuje tego dokonać, utrzymując FPS na poziomie częstotliwości odświeżania monitora. Niestety V-Sync powoduje opóźnienie wejścia, więc ta opcja nie zawsze jest preferowana. Technologie takie jak G-Sync firmy Nvidia próbują to naprawić.
- Oscylacja
Ludzie często stwierdzają, że jeśli doświadczają szerokiego zakresu FPS (powiedzmy 70-200), które oscylują do tyłu i szybko do przodu, że może to spowodować efekt „przeciągania”, gdy zmienna liczba klatek na sekundę sprawia, że wydaje się, że zmienia się prędkość gry. Może to bardzo rozpraszać i / lub wpływać na celowanie, więc ludzie będą ograniczać liczbę klatek na sekundę.
- Stabilność w trybie dla wielu graczy
Przekonasz się, że w grach wieloosobowych, jeśli masz stałą liczbę klatek na sekundę i stałe połączenie sieciowe, oznacza to, że pociski będą się lepiej synchronizować, a wykrywanie trafień poprawi się.
Popularną formułą, którą widzę, jest fps cap = (refresh rate x 2) + 1
, która z powodów technicznych skuteczniej zapobiega rozdzieraniu ekranu.
Komentarze
- ”
fps cap = (refresh rate x 2) + 1
, które z przyczyn technicznych skuteczniej zapobiegną rozdzieraniu ekranu ” – t jego dźwięki całkowicie zmyślone. - Hę? Ciężar dowodu nie spoczywa na mnie – jakie są te ' przyczyny techniczne '?
- @ BlueRaja-DannyPflughoeft Jest to formuła, którą ' widziałem wielokrotnie, badając ją, kiedy budowałem swój komputer. Nie ' nie wiem, dlaczego to (najwyraźniej) działa, ponieważ nigdy tego nie sprawdziłem i nie zamierzam kopiować i wklejać eseju na ten temat do mojej odpowiedzi. Ponieważ jednak każde źródło, które ' widziałem, wspomina o tym w jakimś momencie, zakładam, że to prawda
- Ach, stary dobry ” Widziałem to często w internecie, więc musi to być prawda ” obrona. Inaczej nazywane dezinformacją ” faktem „. Nie znaczy to, że ' składam roszczenie w ten czy inny sposób, po prostu obserwując kolejny truizm bez oferowanego wsparcia.
- @LawrenceDol Aby być uczciwym, zrobił podał powód jako jakiś techniczny powód, którego ' nie rozumiał. Jak powiedział użytkownik1754322 w odpowiedzi (powinien to być komentarz tutaj), ' z powodu Nyquist Rate . Aby móc modelować coś ciągłego w dyskretnym czasie, musisz próbkować z podwójną częstotliwością, którą chcesz rozwiązać, aby uniknąć aliasingu.Jednak ' szczerze nie wiem, jak to się odnosi do ramek ekranu. Nie ' nie wiem, czy to faktycznie zostałby uznany za sygnał ciągły.