#gamedev

Rozmyslam sobie nad optymalizacja gier i wpadlem na rozwiazanie problemu gier produkujacych wiecej klatek na sekunde niz monitor jest w stanie wyswietlic. Z tego co wiem, to nadmiarowe klatki sa renderowane przez GPU, ale nigdy nie sa wyswietlane, ale dzieki temu, ze dane wejsciowe z myszki/klawiatury/kontrollera sa zbierane setki/tysiace razy na sekunde, to gra wydaje sie dzialac plynniej. Dlaczego wiec tworcy gier nie rozlacza liczby klatek na sekunde logiki gry tak zeby logika przeliczala input tak czesto jak fabryka CPU dala, a GPU by renderowala tylko tyle klatek ile monitor jest w stanie wyswietlic, bez marnowania mocy na renderowanie odrzucanych klatek, przeznaczajac zaoszczedzona moc na polepszenie jakosci (rozdzielczosc/detale) wyswietlanych klatek? Albo moze to gdzies tak dziala, ale ja o tym nie wiem?
con987

Odkryłeś V-sync, opcja dostępna od czasów monitorów CRT

5tgbnhy6

@con987 ale vsync nie pozwala logice na symulacje czesciej niz odswiezanie monitora, a o to glownie mi chodzilo

brain

Jeżeli mamy za dużo klatek to znaczy że już nie ma co zrobić z tą nadmiarową mocą obliczeniową GPU. A poprawianie jakości grafiki to już załatwiają różne rozwiązania jak dynamiczna rozdzielczość czy dynamiczny LoD (Level of Detail). Samo rozdzielenie logiki od liczny wyświetlanych klatek już się dzieje od jakiegoś czasu, chociaż są niechlubne wyjątki - głównie gry japońskich developerów robiących gry na Playstation. Potem są historie jak mody zwiększające liczbę klatek z 30 na 60s powodują że różne buffy działają o połowę krócej albo że z tego samego powodu nie da się zrobić niektórych czasowych zakładek. Wracając jednak do tematu, to żeby było poczucie responsywności to zależy nam żeby klatka grafiki która jest wyrenderowana zawierała jak najświeższe dane dotyczące inputu, więc siłą rzeczy zasadne jest żeby GPU produkowało klatki jak najczęściej się da.

5tgbnhy6

@brain @Erebus a no macie racje, moze swezosc klatki jest wazniejsza niz liczba symulacji logiki na sekunde

Erebus

@5tgbnhy6 picrel+wyłączenie vsync+ograniczenie renderowania ponad częstotliwość odświeżania monitora

8ac252fb-1ef3-4348-958d-a090ad87e613
Erebus

@5tgbnhy6 ale input lag przy kolejkowaniu klatek się zwiększa

Zaloguj się aby komentować