Co oznacza vsync w grach. Ustawienia grafiki w grach: na co wpływają? Podłączanie synchronizacji pionowej

Co to jest synchronizacja pionowa w grach? Ta funkcja odpowiada za poprawne wyświetlanie gier na standardowych monitorach LCD z częstotliwością 60 Hz. Po włączeniu szybkość klatek jest ograniczona do 60 Hz, a na ekranie nie są wyświetlane żadne przerwy. Wyłączenie go zwiększy liczbę klatek na sekundę, ale jednocześnie wystąpi efekt zrywania ekranu.

V-sync to dość kontrowersyjny temat w grach. Z jednej strony dla komfortu wizualnego rozgrywka wydaje się to bardzo potrzebne, zakładając, że masz standardowy monitor LCD.

Dzięki temu podczas gry na ekranie nie pojawiają się żadne błędy, obraz jest stabilny i nie ma przerw. Minusem jest to, że liczba klatek na sekundę jest ograniczona do 60 Hz, więc bardziej wymagający gracze mogą doświadczyć tzw. input lag, czyli niewielkiego opóźnienia podczas poruszania się w grze za pomocą myszy (można to przyrównać do sztucznie wygładzonego ruchu myszy).

Wyłączenie synchronizacji pionowej ma również swoje wady i zalety. Przede wszystkim zapewniona jest nieograniczona liczba klatek na sekundę, a tym samym całkowicie usuwa wspomniane opóźnienie wejściowe. Przydaje się do gier. Typ Counter-Strike gdzie ważna jest szybkość reakcji i dokładność. Ruch i celowanie jest bardzo wyraźne, dynamiczne, każdy ruch myszy odbywa się z dużą precyzją. W niektórych przypadkach możemy uzyskać więcej Szybkość klatek na sekundę, ponieważ V-Sync, w zależności od karty graficznej, może nieznacznie obniżyć wydajność sprzętu (różnica wynosi około 3-5 FPS). Niestety wadą jest to, że bez synchronizacji pionowej uzyskujemy efekt rozrywania ekranu. Obracając się lub zmieniając ruch w grze, zauważamy, że obraz jest rozdarty na dwie lub trzy poziome części.

Włączyć czy wyłączyć synchronizację pionową?

Czy potrzebna jest synchronizacja pionowa? Wszystko zależy od naszych indywidualnych preferencji i tego, co chcemy uzyskać. W wieloosobowych grach FPS zaleca się wyłączenie synchronizacji pionowej, aby poprawić dokładność celowania. Efekt rozrywania ekranu z reguły nie jest tak zauważalny, a gdy się do niego przyzwyczaimy, nawet go nie zauważymy.

Z kolei w gry fabularne Możesz bezpiecznie włączyć V-Sync. Tutaj wysoka dokładność nie jest tak ważna, pierwsze skrzypce gra otoczenie, komfort wizualny, więc warto postawić na dobrą jakość.

Synchronizację pionową można zazwyczaj włączyć lub wyłączyć w ustawieniach graficznych gry. Ale jeśli nie znajdziemy tam takiej funkcji, to można ją ręcznie wyłączyć ręcznie w ustawieniach karty graficznej – zarówno dla wszystkich, jak i tylko dla wybranych aplikacji.

Synchronizacja pionowa na kartach graficznych NVIDIA

Na kartach graficznych GeForce ta funkcja znajduje się w Panelu sterowania Nvidia. Kliknij kliknij prawym przyciskiem myszy myszy na pulpicie systemu Windows 10, a następnie wybierz Panel sterowania Nvidia.

Na pasku bocznym wybierz kartę Sterowanie ustawieniami 3D w obszarze Ustawienia 3D. Dostępne ustawienia zostaną wyświetlone po prawej stronie.

Ustawienia podzielone są na dwie zakładki - globalną i programową. Na pierwszej karcie możesz ustawić opcje dla wszystkich gier i na przykład włączyć lub wyłączyć synchronizację pionową w każdej z nich. Natomiast w drugiej zakładce możesz ustawić te same parametry, ale indywidualnie dla każdej gry osobno.

Wybierz kartę globalne lub program, a następnie poszukaj na liście opcji „Synchronizacja pionowa”. Obok znajduje się rozwijane pole - wybieramy wymusić wyłączenie lub włączyć synchronizację pionową.

V-Sync na grafice AMD

W przypadku kart graficznych AMD wygląda to dokładnie tak samo, jak w Nvidii. Kliknij prawym przyciskiem myszy na pulpicie, a następnie przejdź do Panel Catalyst Control Center.

Następnie otwórz zakładkę „Gry” po lewej stronie i wybierz „Ustawienia aplikacji 3D”. Po prawej stronie wyświetli się lista dostępnych opcji, które można wymusić włączenie z pozycji ustawień graficznych AMD Radeon. Gdy jesteśmy na karcie „Ustawienia systemu”, wybieramy dla wszystkich.

Jeśli chcesz ustawić parametry osobno dla każdej gry osobno, kliknij przycisk „Dodaj” i określ plik EXE. Zostanie dodana do listy jako nowa zakładka, a po przejściu do niej możesz ustawić parametry tylko dla tej gry.

Po wybraniu zakładki z dodanymi parametrami aplikacji lub systemu (ogólne) znajdź na liście opcję „Czekaj na aktualizację pionową”. Pojawi się okno wyboru, w którym możemy wymusić włączenie lub wyłączenie tej opcji.

V-Sync na zintegrowanej karcie graficznej Intel HD

W przypadku korzystania ze zintegrowanego układu graficznego Intel HD Graphics dostępny jest również panel sterowania. Powinien być dostępny po kliknięciu prawym przyciskiem myszy na pulpicie lub za pomocą kombinacji klawiszy Ctrl+Alt+F12.

W panelu Intel przejdź do zakładki Ustawienia Tryb - Panel sterowania - Grafika 3D, a następnie do ustawień użytkownika.

Tutaj znajdziemy pole z synchronizacją pionową Vertical Sync. Możesz go włączyć wymuszone, ustawiając wartość na „Włączone” lub ustawić na „Ustawienia aplikacji”. Niestety w opcjach karty Intel HD nie ma funkcji wyłączania siły – można włączyć tylko V-Sync. Ponieważ nie można wyłączyć synchronizacji pionowej na karcie graficznej, można to zrobić tylko w ustawieniach samej gry.

Prawie w sumie nowoczesne gry w ustawieniach grafiki widać kolumnę „synchronizacja pionowa”. I coraz więcej graczy ma pytania Czy ta synchronizacja jest przydatna?, jego wpływ i dlaczego w ogóle istnieje, jak z niego korzystać na różnych platformach. Dowiedzmy się w tym artykule.

Informacje o synchronizacji pionowej

Zanim przejdziemy bezpośrednio do wyjaśnienia natury synchronizacji pionowej, konieczne jest zagłębienie się w historię powstawania synchronizacji pionowej. Postaram się być tak jasny, jak to tylko możliwe. Pierwsze monitory komputerowe były stałym obrazem obsługiwanym przez sygnał skanowania pojedynczej klatki.

Gdy pojawiła się nowa generacja wyświetlaczy, pojawiła się kwestia gwałtownej zmiany rozdzielczości, która wymagała kilku trybów pracy, wyświetlacze te prezentowały obraz wykorzystując biegunowość sygnałów synchronicznie do pionu.

Wymagana rozdzielczość VGA dokładniejsze dostrojenie przemiatać i otrzymał dwa sygnały poziomo i pionowo. W dzisiejszych wyświetlaczach wbudowany kontroler odpowiada za ustawienie skanowania.

Ale jeśli sterownik według drivera ustawia wymaganą liczbę klatek, to po co dla ustawionej rozdzielczości synchronizacja pionowa? To nie jest takie proste. Dość często zdarzają się sytuacje, w których liczba klatek na sekundę podczas generowania karty graficznej jest bardzo wysoka, ale monitory, ze względu na swoje ograniczenia techniczne, nie można poprawnie wyświetlić tej liczby klatek gdy częstotliwość odświeżania monitora jest znacznie niższa niż częstotliwość odświeżania karty graficznej. Prowadzi to do ostrych ruchów obrazu, artefaktów i pasków.

Nie mając czasu na pokazanie klatek z pliku pamięci z włączonym „potrójnym buforowaniem”, szybko zastępują się, nakładając kolejne klatki. I tutaj technologia potrójnego buforowania jest prawie nieskuteczna.

Technologia synchronizacji pionowej mające na celu naprawienie tych niedociągnięć..

Odwraca się do monitora z włączoną ankietą standardowe funkcje aktualizowanie częstotliwości i liczby klatek na sekundę, zapobiegając przechodzeniu ramek z pamięci pomocniczej do pamięci podstawowej, dokładnie do momentu aktualizacji obrazu.

Podłączanie synchronizacji pionowej

Zdecydowana większość gier ma tę funkcję bezpośrednio w ustawieniach graficznych. Ale dzieje się tak, gdy takiej kolumny nie ma lub obserwuje się pewne defekty podczas pracy z grafiką aplikacji, które nie zawierają ustawień dla takich parametrów.

W ustawieniach każdej karty graficznej możesz włączyć technologię synchronizacji pionowej dla wszystkich aplikacji lub selektywnie.

Jak włączyć NVidię?

Podobnie jak większość manipulacji kartami NVidia, odbywa się to za pośrednictwem konsoli zarządzania NVidia. Tam, na wykresie kontroli parametrów 3D, pojawi się parametr impulsu synchronizacji.

Powinien być przesunięty do pozycji włączonej. Ale w zależności od karty graficznej kolejność będzie inna.

Tak więc w starszych kartach graficznych parametr synchronizacji pionowej znajduje się w rozdziale parametry globalne w tym samym polu sterowania ustawieniami 3D.

Karty wideo firmy ATI

Aby skonfigurować, użyj centrum sterowania karty graficznej. Mianowicie, Catalyst Control Center działa na platformie .NET Framework 1.1. Jeśli go nie masz, centrum sterowania nie uruchomi się. Ale nie martw się. W takich przypadkach istnieje alternatywa dla centrum, po prostu praca z klasycznym panelem sterowania.

Aby uzyskać dostęp do ustawień, przejdź do pozycji 3D znajdującej się w menu po lewej stronie. Pojawi się sekcja Czekaj na odświeżenie pionowe. Początkowo w aplikacji używana jest domyślna technologia synchronizacji pionowej.

Przesunięcie przycisku w lewo całkowicie wyłączy tę funkcję, a przesunięcie w prawo wymusi jej włączenie. Domyślna opcja jest tutaj najbardziej rozsądny, ponieważ umożliwia skonfigurowanie synchronizacji bezpośrednio w ustawieniach gry.

Podsumowując

Synchronizacja pionowa to funkcja, która pomaga pozbyć się ostrych ruchów na obrazie, w niektórych przypadkach pozwala pozbyć się artefaktów i pasków na obrazie. Osiąga się to poprzez podwójne buforowanie odbieranej liczby klatek na sekundę, gdy liczba klatek monitora i karty graficznej nie są zgodne.

V-sync jest obecnie obecny w większości gier. Działa podobnie jak potrójne buforowanie, ale kosztuje znacznie mniej zasobów, dlatego potrójne buforowanie w ustawieniach gry jest rzadziej spotykane.

Decydując się na włączenie lub wyłączenie synchronizacji pionowej, użytkownik dokonuje wyboru między jakością a wydajnością. Po włączeniu uzyskuje płynniejszy obraz, ale mniej klatek na sekundę.

Wyłączając to, dostaje jeszcze ramki, ale nie jest odporny na ostrość i niechlujność obrazu. W szczególności dotyczy to sceny intensywne i wymagające dużej ilości zasobów, gdzie szczególnie zauważalny jest brak synchronizacji pionowej lub potrójnego buforowania.

Ten tajemniczy wykres w parametrach wielu gier nie był tak prosty, jak się wydawało. A teraz wybór, czy go użyć, czy nie, należy tylko do ciebie i twoich celów w grach.

Jestem pewien, że wielu fanów gry komputerowe w obliczu zalecenia wyłączenia tak zwanej „synchronizacji pionowej” lub VSync w ustawieniach karty graficznej w grach.

W wielu testach wydajności kontrolerów graficznych szczególnie podkreśla się, że testy zostały przeprowadzone z wyłączoną VSync.
Co to jest i dlaczego jest potrzebne, jeśli wielu „zaawansowanych ekspertów” radzi wyłączyć tę funkcję?
Aby zrozumieć znaczenie synchronizacji pionowej, musisz zrobić krótką dygresję do historii.

Pierwsze monitory komputerowe działały w stałych rozdzielczościach i stałych częstotliwościach odświeżania.
Wraz z pojawieniem się monitorów EGA konieczne stało się wybieranie różnych rozdzielczości, co zapewniały dwa tryby pracy, które były ustalane przez polaryzację sygnałów synchronizacji obrazu wzdłuż pionu.

Monitory obsługujące rozdzielczość VGA i wyższą wymagają precyzyjnego dostrojenia częstotliwości przemiatania.
Do tego wykorzystano już dwa sygnały, które odpowiadają za synchronizację obrazu zarówno w poziomie, jak i w pionie.
W nowoczesnych monitorach za dostosowanie skanowania zgodnie z ustawioną rozdzielczością odpowiada specjalny chip kontrolera.

Dlaczego pozycja „synchronizacja pionowa” jest zapisywana w ustawieniach karty graficznej, jeśli monitor jest w stanie automatycznie dostosować się zgodnie z trybem ustawionym w sterowniku?
Faktem jest, że pomimo tego, że karty wideo są w stanie generować bardzo dużą liczbę klatek na sekundę, monitory nie mogą wyświetlać ich z wysoką jakością, w wyniku czego pojawiają się różne artefakty: pasy i „podarty” obraz.

Aby tego uniknąć, karty graficzne zapewniają tryb wstępnego odpytywania monitora o jego pionowy skan, z którym synchronizowana jest liczba klatek na sekundę - znany fps.
Innymi słowy, przy częstotliwości pionowej 85 Hz liczba klatek na sekundę w dowolnej grze nie przekroczy osiemdziesięciu pięciu.

Pionowa częstotliwość odświeżania monitora oznacza, ile razy ekran z obrazem jest odświeżany na sekundę.
W przypadku wyświetlacza kineskopowego, bez względu na to, ile klatek na sekundę akcelerator graficzny pozwala „wycisnąć” z gry, częstotliwość odświeżania nie może być fizycznie wyższa niż ustawiona.

W monitorach LCD nie ma fizycznego odświeżania całego ekranu: tutaj poszczególne piksele mogą świecić lub nie.
Jednak sama technologia transmisji danych przez interfejs wideo zapewnia, że ​​ramki są przesyłane do monitora z karty graficznej z określoną prędkością.
Dlatego, z pewnym stopniem konwencji, pojęcie „przemiatania” ma zastosowanie do wyświetlacza LCD.

Skąd pochodzą artefakty obrazów?
W każdej grze liczba generowanych klatek na sekundę stale się zmienia, w zależności od złożoności obrazu.
Ponieważ częstotliwość odświeżania monitora jest stała, desynchronizacja między fps transmitowanymi przez kartę graficzną a częstotliwością odświeżania monitora prowadzi do zniekształcenia obrazu, który wydaje się być podzielony na kilka dowolnych pasm: jedna z nich ma czas na aktualizację, a druga nie.

Na przykład monitor działa z częstotliwością odświeżania 75 Hz, a karta wideo w grze generuje sto klatek na sekundę.
Innymi słowy, akcelerator graficzny jest o około jedną trzecią szybszy niż system odświeżania monitora.
Podczas aktualizacji jednego ekranu karta generuje 1 klatkę i jedną trzecią następnej – w efekcie na wyświetlaczu rysowane są dwie trzecie aktualnej klatki, a jej trzecia zostaje zastąpiona trzecią klatką następnej.

Podczas następnej aktualizacji karta zdoła wygenerować dwie trzecie klatki i dwie trzecie następnej i tak dalej.
Na monitorze co dwa z trzech cykli skanowania obserwujemy jedną trzecią obrazu z innej klatki - obraz traci gładkość i „drganie”.
Wada ta jest szczególnie widoczna w dynamicznych scenach lub np. gdy twoja postać w grze rozgląda się dookoła.

Jednak całkowicie błędne byłoby założenie, że jeśli karta graficzna nie może generować więcej niż 75 klatek na sekundę, wszystko będzie w porządku przy wyświetlaniu obrazu na wyświetlaczu z częstotliwością pionową 75 Hz.
Faktem jest, że w przypadku zwykłego tzw. „podwójnego buforowania” klatki na monitorze pochodzą z bufora podstawowego (przedniego), a sam rendering odbywa się w buforze wtórnym (bufor tylny). .

Gdy bufor wtórny się zapełni, ramki wchodzą do bufora podstawowego, jednak ponieważ operacja kopiowania między buforami zajmuje pewien czas, jeśli skanowanie monitora zostanie w tym momencie zaktualizowane, nadal nie uniknie się drgania obrazu.

Synchronizacja pionowa po prostu rozwiązuje te problemy: monitor jest odpytywany o częstotliwość odświeżania, a kopiowanie ramek z bufora dodatkowego do podstawowego jest zabronione, dopóki obraz nie zostanie zaktualizowany.
Ta technologia działa świetnie, gdy liczba klatek na sekundę przekracza częstotliwość pionową.
Ale co, jeśli liczba klatek na sekundę spadnie poniżej częstotliwości odświeżania?
Na przykład w niektórych scenach nasz fps spada ze 100 do 50.

W takim przypadku dzieje się co następuje.
Obraz na monitorze jest aktualizowany, pierwsza klatka jest kopiowana do bufora podstawowego, a dwie trzecie drugiej jest „renderowane” w buforze pomocniczym, po czym następuje kolejna aktualizacja obrazu na wyświetlaczu.
W tym czasie karta graficzna kończy przetwarzanie drugiej ramki, której nadal nie może wysłać do głównego bufora, a następna aktualizacja obrazu ma miejsce z tą samą ramką, która jest nadal przechowywana w głównym buforze.

Potem to wszystko się powtarza, w wyniku czego mamy sytuację, w której liczba klatek na sekundę na ekranie jest dwa razy niższa niż częstotliwość skanowania i jedna trzecia niższa niż potencjalna prędkość renderowania: karta graficzna najpierw „nie nadąża ” z monitorem, a następnie odwrotnie, musisz poczekać, aż wyświetlacz ponownie pobierze klatkę zapisaną w buforze podstawowym, a w buforze wtórnym będzie miejsce na obliczenie nowej ramki.

Okazuje się, że w przypadku synchronizacji pionowej i podwójnego buforowania możemy uzyskać obraz wysokiej jakości tylko wtedy, gdy liczba klatek na sekundę jest równa jednej z dyskretnych sekwencji wartości liczonych jako stosunek częstotliwości skanowania do jakiejś dodatniej liczby całkowitej.
Na przykład przy częstotliwości odświeżania 60 Hz liczba klatek na sekundę powinna wynosić 60 lub 30, 15, 12 lub 10 itd.

Jeśli potencjalne możliwości karty pozwolą na generowanie mniej niż 60 i więcej niż 30 klatek na sekundę, to rzeczywista prędkość renderowania spadnie do 30 fps.

Tłumaczenie... Tłumacz chiński (uproszczony) chiński (tradycyjny) angielski francuski niemiecki włoski portugalski rosyjski hiszpański turecki

Niestety nie możemy w tej chwili przetłumaczyć tych informacji – spróbuj ponownie później.

Dowiedz się, jak używać prostego algorytmu do synchronizacji obrazu z częstotliwością odświeżania wyświetlacza i poprawiania jakości odtwarzania wideo.

Wstęp

Nasza wizja „cyfrowego domu” stopniowo staje się rzeczywistością. W ostatnich latach na rynku dostępnych jest coraz więcej urządzeń do „cyfrowego domu”. Zakres oferowanej elektroniki jest bardzo duży - od multimedialnych dekoderów obsługujących transmisję muzyki i wideo po pełnowymiarowe systemy rozrywki w konwencjonalnej obudowie PC.

Domowe centra multimedialne stają się standardową pozycją w cennikach sklepów komputerowych, umożliwiając oglądanie i nagrywanie programów telewizyjnych, zapisywanie i odtwarzanie cyfrowych zdjęć oraz muzyki i tak dalej. Ponadto niektórzy dostawcy oferują specjalne zestawy, dzięki którym użytkownik może zmienić swój komputer w domowe centrum multimedialne.

Niestety takie centra multimedialne nie zawsze obsługują odtwarzanie wideo w wysokiej jakości. Niewystarczająca jakość wideo jest zwykle spowodowana takimi czynnikami, jak nieprawidłowe buforowanie i renderowanie treści przesyłanych strumieniowo, brak algorytmów usuwania przeplotu podczas przetwarzania wideo z przeplotem oraz nieprawidłowa synchronizacja strumieni wideo-audio. Większość z tych problemów jest dobrze zbadana i ma rozwiązania, które są wystarczająco brane pod uwagę przez producentów. Jest jednak inny, mniej znany i mniej oczywisty problem, który może prowadzić do niewielkich, ale wciąż zauważalnych zniekształceń podczas oglądania filmów. Nasz artykuł zawiera szczegółowy opis tego problemu i rozważa jeden ze sposobów jego rozwiązania.

Wraz z rosnącą sprzedażą domowych centrów multimedialnych coraz więcej konsumentów ogląda telewizję na komputerach PC. Wraz z rozwojem tego segmentu, który jest obecnie poszukiwany przez entuzjastów amatorów, wzrośnie również zapotrzebowanie na wysokiej jakości wideo.

Istnieje wiele metod poprawy jakości odtwarzania wideo na komputerze i wielu producentów oprogramowania wideo z powodzeniem je stosuje. Jednocześnie czasami fakt, że oprogramowanie do odtwarzania wideo musi brać pod uwagę i zapewniać synchronizację wideo z częstotliwością odświeżania wyświetlacza. Faktem jest, że telewizory są początkowo dostarczane do synchronizacji z sygnałem wideo pochodzącym ze studia nadawczego. W przeciwieństwie do telewizorów monitory komputerowe odświeżają ekran ze stałą szybkością, która jest ustawiana przez kartę graficzną i nie ma nic wspólnego z sygnałem wideo. Ta znacząca różnica może powodować wiele problemów, jeśli chcesz mieć pewność, że wideo jest prawidłowo zsynchronizowane z wyświetlaczem komputera. Poniżej postaramy się szczegółowy opis ten problem i zaproponować rozwiązanie. Jednak wcześniej chcielibyśmy przedstawić czytelnikowi kilka podstawowych pojęć, które zostaną omówione w artykule.

Cykl odświeżania wyświetlacza

Częstotliwość odświeżania ekranu komputera (częstotliwość odświeżania ekranu) jest zsynchronizowana z częstotliwością karty graficznej (karty graficznej). Rozważ najczęstszy przykład — kiedy karta graficzna i monitor obsługują częstotliwość 60 Hz. Taka kombinacja jest możliwa dzięki temu, że monitor jest zsynchronizowany z sygnałem 60Hz pochodzącym z karty graficznej. W rzeczywistości monitor utrzymuje synchronizację nawet w przypadku niewielkich odchyleń częstotliwości wyjściowej karty graficznej (na przykład 60,06 Hz zamiast standardowych 60 Hz).

Podczas cyklu odświeżania obraz ekranu jest przerysowywany z bufora wyświetlania (pamięć adresowalna karty graficznej). Każda pozioma linia na wyświetlaczu jest sekwencyjnie aktualizowana zgodnie z nowymi danymi zawartymi w buforze pamięci wideo. zaktualizowany w ten moment linia czasu nazywana jest linią skanowania. W przypadku karty graficznej 60 Hz proces odświeżania ekranu następuje 60 razy na sekundę, więc obraz na monitorze komputera jest również aktualizowany 60 razy na sekundę.

Rysunek 1 — Aktualizacja wyświetlacza

Artefakty rozdzierania obrazu

Należy być świadomym potencjalnego problemu z niejednorodnym odświeżaniem bufora grafiki. Jeśli zawartość bufora pamięci wideo uległa zmianie w czasie, gdy obraz na monitorze nie został jeszcze w pełni narysowany (cykl odświeżania nie został ukończony), zostanie pokazana tylko część nowego obrazu po linii skanowania na ekranie (patrz rys. Ryż. 2). Ten artefakt obrazu, który pokazuje stary obraz na górze ekranu i nowy obraz na dole, nazywa się rozrywaniem. W rzeczywistości termin ten jest bardzo opisowy, ponieważ wynikowy obraz wygląda, jakby był „rozdarty” na pół.

Rysunek 2 - Artefakty „luki” obrazu

Odwróć drużynę

Jednym ze sposobów zapobiegania „łzom” jest upewnienie się, że następuje aktualizacja zawartości pamięci wideo po tym jak kończy się cykl odświeżania wyświetlacza i przed tym kiedy rozpocznie się kolejny cykl. Innymi słowy, aktualizacja musi nastąpić podczas wobulacji zwrotnej. Metoda ta wymaga jednak odpowiednich zmian w oprogramowaniu, które musi obliczyć kolejność zmian obrazu z wystarczającą dokładnością.

Z tego powodu zaproponowano algorytm synchronizacji przełączania buforów (Flip). Polecenie Odwróć ma bardzo prosty charakter - pozwala programowi zaktualizować obraz w dowolnym momencie cyklu odświeżania ekranu, ale jego wynik nie jest w rzeczywistości przesyłany do pamięci wideo, dopóki bieżący cykl nie zostanie zakończony. W związku z tym aktualizacja obrazu na monitorze następuje w odstępie czasu następującym po wykonaniu polecenia Odwróć. Dzięki metodzie synchronizacji bufora „rozdarcia” obrazu są eliminowane, ponieważ polecenie Odwróć zapewnia, że ​​do każdego cyklu odświeżania jest gotowy całkowicie nowy obraz (patrz poniżej). Ryż. 3). Jednak w następnej sekcji pokażemy, że użycie samego polecenia Odwróć nie gwarantuje rozwiązania wszystkich problemów.

Rysunek 3 — Sekwencja poleceń odwrócenia

Potencjalne problemy

Korzystanie z algorytmu synchronizacji ma ogromne zalety i pomaga wyeliminować artefakty związane z rozrywaniem, ale pozostaje jeden poważny problem.

Podczas korzystania z polecenia Odwróć, warunki renderowania oprogramowania dla wideo są zmieniane. Aby wykonać Flip, oprogramowanie musi dostosować interwał aktualizacji bufora klatek (częstotliwość klatek) zgodnie z określoną częstotliwością klatek. Jedyną częstotliwością taktowania, z jaką można synchronizować klatki, jest częstotliwość odświeżania wyświetlacza (lub wielokrotność). Innymi słowy, nowa klatka może być wyświetlana tylko na początku cyklu odświeżania - w rzeczywistości interwały klatek są powiązane z częstotliwością odświeżania wyświetlacza.

Rysunek 4 — Niezgodność liczby klatek na sekundę i częstotliwości wyświetlania

Fakt ten oznacza, że ​​jeśli częstotliwość odświeżania wyświetlacza nie jest taka sama jak częstotliwość klatek odtwarzanej zawartości lub nie jest jej wielokrotnością, zawartość na wyświetlaczu nie może być w pełni odtworzona. Na Ryż. cztery pokazano szczególny przypadek tego problemu. W tym scenariuszu szybkość klatek treści jest mniejsza niż częstotliwość odświeżania wyświetlacza. Ze względu na przesunięcie fazowe między tymi dwiema częstotliwościami, odstępy poleceń Flip dla dwóch ramek w końcu rozciągną się na pełny cykl odświeżania (zwróć uwagę na taktowanie ramek 3 i 4). W rezultacie klatka 3 będzie wyświetlana prawie dwa razy dłużej niż jest to wymagane. Dlatego należy dążyć do dopasowania liczby klatek na sekundę i częstotliwości odświeżania wyświetlacza, chociaż nie zawsze jest to możliwe.

Rozważana sytuacja pogarsza się tylko wtedy, gdy różnica między liczbą klatek na sekundę a częstotliwością odświeżania wyświetlacza jest niewielka. Gdy czasy ramek są zbliżone do odstępów cykli aktualizacji, nawet małe niedokładności w obliczeniach licznika czasu oprogramowania mogą spowodować, że kilka kolejnych poleceń odwrócenia będzie potykać się w stosunku do początku aktualizacji. Oznacza to, że niektóre polecenia Flip będą uruchamiane za wcześnie, a niektóre za późno, co skutkuje „duplikowaniem” i „porzucaniem” ramek. Ten przypadek jest zilustrowany w Ryż. 5– timer nie działa poprawnie (w nieregularnych odstępach czasu), w wyniku czego klatki 2 i 4 nie są wyświetlane, a klatki 3 i 5 są wyświetlane dwukrotnie.

Rysunek 5 — Wynik użycia awarii funkcji Flip on timera

Zjawisko to może wystąpić nawet wtedy, gdy liczba klatek na sekundę treści i częstotliwość odświeżania wyświetlacza są takie same. Oczywiście użycie samego timera i polecenia Odwróć nie wystarczy, aby zapewnić odtwarzanie wideo w wysokiej jakości. Jak wyjaśniono w następnej sekcji, aby polecenia Odwróć działały poprawnie, oprogramowanie musi utrzymywać inteligentną synchronizację z cyklami odświeżania wyświetlacza.

Polecenia odwracania czasu

Jak wspomniano powyżej, użycie polecenia Odwróć pozwala na uwzględnienie cykli odświeżania ekranu podczas renderowania klatek wideo. Każda nowo przesłana ramka jest wyświetlana tylko przez jeden pełny cykl odświeżania wyświetlacza. Dlatego korzystając z polecenia Odwróć, oprogramowanie musi dokładnie obliczyć nie tylko czas wyświetlania każdej klatki, ale także określić konkretny cykl odświeżania, aby optymalnie zsynchronizować wyjście klatek.

Najlepiej jest wywołać polecenie Flip na samym początku cyklu odświeżania, tuż przed rozpoczęciem odpowiedniego interwału odświeżania ramki (patrz przykład na Ryż. 3). Daje to największe prawdopodobieństwo rzeczywistego wykonania polecenia przed rozpoczęciem odpowiedniego cyklu aktualizacji i zapewnia, że ​​ramka jest wyprowadzana we właściwym czasie. Należy pamiętać, że w przypadkach, w których częstotliwość klatek wideo i częstotliwość odświeżania wyświetlacza nie są zgodne, optymalizacja cyklu odświeżania klatek Flip nie jest wystarczająca, aby zapewnić akceptowalną jakość wideo. Istnieje kilka sposobów umieszczania w ramkach lub modyfikowania ramek treści, które rozwiązują te problemy, ale wykraczają one poza zakres tej publikacji.

Niektóre System operacyjny zapewniają interfejsy programistyczne, dzięki którym aplikacje mogą synchronizować się z cyklem odświeżania wyświetlacza. W szczególności środowisko Microsoft DirectX 9.0 zawiera kilka procedur, które mogą być bardzo przydatne w naszym przypadku. Następnie przyjrzymy się standardowym procedurom DirectX jako przykładowym metodom rozwiązania badanego problemu. Czytelnicy mogą wykorzystać te przykłady do zbadania proponowanych metod i znalezienia podobnych rozwiązań w innych systemach operacyjnych.

Czekaj na puste w pionie() to standardowa procedura w bibliotece DirectDraw (w ramach interfejsu IDirectDraw), która blokuje dostęp wątku do interfejsu do czasu rozpoczęcia następnego cyklu aktualizacji. Ta procedura może być używana do synchronizacji, ale powinna być wykonywana jednorazowo lub w znacznych odstępach czasu, ponieważ dostęp do niej jest czasochłonny. Jednak ta procedura jest przydatna podczas wykonywania wstępnej synchronizacji z cyklem aktualizacji.

GetScanLine() to standardowa procedura, którą można wykorzystać do uzyskania informacji o tym, która linia obrazu jest aktualnie aktualizowana na wyświetlaczu. Jeżeli znana jest całkowita liczba linii i bieżąca linia skanowania, określenie stanu cyklu odświeżania wyświetlacza nie jest trudne. Na przykład, jeśli całkowita liczba wierszy wyświetlacza wynosi 1024, a procedura GetScanLine() zwraca 100, bieżący cykl odświeżania wynosi obecnie od 100 do 1024, co oznacza ukończenie w około 10 procentach. Aplikacja GetScanLine() pozwala aplikacji monitorować stan pętli aktualizacji i na jego podstawie określić, z którym cyklem należy powiązać następną renderowaną ramkę, oraz ustawić zegar na żądany czas przełączania bufora. Oto przykładowy algorytm:

Rysunek 6

Czas zmiany klatki dobierany jest nie tylko na podstawie obliczenia nowych klatek obrazu, ale także z uwzględnieniem częstotliwości odświeżania ekranu. Ponieważ klatki są wyświetlane na ekranie tylko wtedy, gdy wyświetlacz jest odświeżany, konieczne jest upewnienie się, że każda klatka „trafi” we właściwy cykl odświeżania. Dlatego najlepiej byłoby, gdyby kadrowanie obrazu dokładnie odpowiadało częstotliwości odświeżania ekranu. W takim przypadku każda klatka zostanie narysowana na wyświetlaczu we właściwym czasie.

Alternatywne rozwiązanie dla zarejestrowanych treści

Omawiane przez nas zagadnienia dotyczą wszystkich scenariuszy odtwarzania wideo, zarówno w przypadku transmisji na żywo, jak i odtwarzania nagranego wideo. Jednak w tym drugim przypadku możesz skorzystać z alternatywnego rozwiązania. Jeśli różnica między szybkością klatek treści a częstotliwością odświeżania wyświetlacza jest niewielka, można dostosować szybkość klatek wideo (i dostosować strumień audio w ten sam sposób), aby dopasować częstotliwość odświeżania ekranu bez pogorszenia jakości treści. Jako przykład weźmy 59,94 klatek na sekundę (bez przeplotu) sygnał telewizyjny o standardowej rozdzielczości na monitorze przy 60 Hz. Przyspieszając odtwarzanie wideo i audio do 60 klatek na sekundę, możesz upewnić się, że częstotliwość klatek odpowiada interwałom odświeżania ekranu i nie powoduje artefaktów obrazu.

Streszczenie

Niniejsza publikacja poświęcona jest metodom synchronizacji obrazów, w szczególności zapobieganiu artefaktom rozrywania obrazu za pomocą polecenia Odwróć. Artykuł dotyczy również przypadków, w których polecenie Odwróć powoduje problemy spowodowane ścisłą synchronizacją z cyklami odświeżania ekranu. Właściwe taktowanie ramek i użycie poleceń Odwróć może spowodować, że czasy ramek i interwały będą różnić się od oczekiwanych przez aplikację. W artykule stwierdzono, że prawidłowym sposobem użycia poleceń Flip jest połączenie synchronizacji Flip z częstotliwością odświeżania ekranu i optymalizacja cyklu obliczeń obrazu pod kątem jego kolejnych wyników. W ten sposób interwały Flip można regulować w oprogramowaniu. Najwyższa jakość wideo jest osiągane, gdy liczba klatek na sekundę treści odpowiada częstotliwości odświeżania wyświetlacza. Jednak w praktyce nie zawsze jest to możliwe. Algorytmy opisane w tym artykule pomogą zredukować artefakty obrazu do minimum.

Współczesne gry wykorzystują coraz więcej efektów graficznych i technologii poprawiających obraz. Jednocześnie programiści zwykle nie zadają sobie trudu, aby wyjaśnić, co dokładnie robią. Kiedy nie jest dostępny najbardziej wydajny komputer, trzeba poświęcić część możliwości. Spróbujmy zastanowić się, co oznaczają najpopularniejsze opcje graficzne, aby lepiej zrozumieć, jak zwolnić zasoby komputera przy minimalnych konsekwencjach dla grafiki.

Filtrowanie anizotropowe

Gdy na monitorze wyświetlana jest jakakolwiek tekstura nie w swoim oryginalnym rozmiarze, konieczne jest wstawienie do niej dodatkowych pikseli lub odwrotnie, usunięcie dodatkowych. Odbywa się to za pomocą techniki zwanej filtrowaniem.

Filtrowanie dwuliniowe jest najprostszym algorytmem i wymaga mniejszej mocy obliczeniowej, ale daje też najgorszy wynik. Trilinear dodaje przejrzystości, ale nadal generuje artefakty. Filtrowanie anizotropowe jest uważane za najbardziej zaawansowaną metodę, która eliminuje zauważalne zniekształcenia na obiektach silnie nachylonych względem aparatu. W przeciwieństwie do dwóch poprzednich metod skutecznie zwalcza efekt aliasingu (gdy niektóre części tekstury są bardziej rozmyte niż inne, a granica między nimi staje się wyraźnie widoczna). W przypadku stosowania filtrowania dwuliniowego lub trójliniowego, wraz ze wzrostem odległości tekstura staje się coraz bardziej rozmyta, podczas gdy filtrowanie anizotropowe nie ma tej wady.

Biorąc pod uwagę ilość przetwarzanych danych (a w scenie może występować wiele 32-bitowych tekstur o wysokiej rozdzielczości), filtrowanie anizotropowe jest szczególnie wymagające pod względem przepustowości pamięci. Możesz zmniejszyć ruch głównie dzięki kompresji tekstur, która jest teraz używana wszędzie. Wcześniej, gdy praktykowano to rzadziej, a przepustowość pamięci wideo była znacznie mniejsza, filtrowanie anizotropowe znacznie zmniejszało liczbę klatek. Na nowoczesnych kartach graficznych nie ma prawie żadnego wpływu na fps.

Filtrowanie anizotropowe ma tylko jedno ustawienie - współczynnik filtra (2x, 4x, 8x, 16x). Im jest wyższy, tym tekstury wyglądają wyraźniej i bardziej naturalnie. Zazwyczaj przy wysokiej wartości małe artefakty są widoczne tylko na zewnętrznych pikselach pochylonych tekstur. Wartości 4x i 8x zazwyczaj wystarczą, by pozbyć się lwią część zniekształceń wizualnych. Co ciekawe, przy przejściu z 8x na 16x spadek wydajności będzie dość mały, nawet teoretycznie, ponieważ tylko niewielka liczba wcześniej niefiltrowanych pikseli będzie wymagała dodatkowego przetwarzania.

Shadery

Shadery to małe programy, które mogą wykonywać pewne manipulacje na scenie 3D, takie jak zmiana oświetlenia, stosowanie tekstur, dodawanie przetwarzania końcowego i inne efekty.

Shadery dzielą się na trzy typy: wierzchołki (Vertex Shader) operują na współrzędnych, geometryczne (Geometry Shader) mogą przetwarzać nie tylko pojedyncze wierzchołki, ale także całe figury geometryczne, składający się maksymalnie z 6 wierzchołków, piksel (Pixel Shader) pracuje z poszczególnymi pikselami i ich parametrami.

Shadery służą głównie do tworzenia nowych efektów. Bez nich zestaw operacji, które deweloperzy mogliby wykorzystać w grach, jest bardzo ograniczony. Innymi słowy, dodanie shaderów umożliwiło uzyskanie nowych efektów, które domyślnie nie były zawarte w karcie graficznej.

Shadery działają bardzo wydajnie równolegle, dlatego współczesne karty graficzne mają tak wiele procesorów strumieniowych, które są również nazywane shaderami. Na przykład w GeForce GTX 580 jest ich aż 512.

Mapowanie paralaksy

Mapowanie paralaksy to zmodyfikowana wersja znanej techniki bumpmappingu używanej do wytłaczania tekstur. Mapowanie paralaksy nie tworzy obiektów 3D w zwykłym tego słowa znaczeniu. Na przykład podłoga lub ściana w scenie z gry będą wyglądać szorstko, podczas gdy w rzeczywistości będą całkowicie płaskie. Efekt reliefu osiąga się tutaj tylko poprzez manipulacje teksturami.

Oryginalny przedmiot nie musi być płaski. Metoda działa na różne przedmioty do gry jednak jego zastosowanie jest pożądane tylko w przypadkach, gdy wysokość powierzchni zmienia się płynnie. Ostre krople są przetwarzane nieprawidłowo, a na obiekcie pojawiają się artefakty.

Mapowanie paralaksy znacząco oszczędza zasoby obliczeniowe komputera, ponieważ przy zastosowaniu analogicznych obiektów o tak szczegółowej strukturze 3D wydajność kart wideo nie wystarczyłaby do renderowania scen w czasie rzeczywistym.

Efekt najczęściej stosuje się na kamiennych chodnikach, ścianach, cegłach i płytkach.

Wygładzanie krawędzi

Przed pojawieniem się DirectX 8 antyaliasing w grach był wykonywany za pomocą SuperSampling Anti-Aliasing (SSAA), znanego również jako Full-Scene Anti-Aliasing (FSAA). Jego użycie doprowadziło do znacznego spadku wydajności, więc wraz z wydaniem DX8 został natychmiast porzucony i zastąpiony Multisample Anti-Aliasing (MSAA). Pomimo tego, że ta metoda dawała gorsze rezultaty, była znacznie bardziej wydajna niż jej poprzedniczka. Od tego czasu pojawiły się bardziej zaawansowane algorytmy, takie jak CSAA.

Biorąc pod uwagę, że w ciągu ostatnich kilku lat wydajność kart graficznych znacznie wzrosła, zarówno AMD, jak i NVIDIA zwróciły obsługę technologii SSAA do swoich akceleratorów. Jednak nie będzie można z niego korzystać nawet teraz w nowoczesnych grach, ponieważ liczba klatek/s będzie bardzo niska. SSAA będzie obowiązywać tylko w projektach z poprzednich lat lub w obecnych, ale przy skromnych ustawieniach innych parametrów graficznych. AMD zaimplementowało obsługę SSAA tylko dla gier DX9, ale w NVIDIA SSAA działa również w trybach DX10 i DX11.

Zasada wygładzania jest bardzo prosta. Zanim ramka zostanie wyświetlona na ekranie, niektóre informacje są obliczane nie w rozdzielczości natywnej, ale zwiększonej i wielokrotności dwóch. Następnie wynik zostaje zredukowany do wymaganego rozmiaru, a „drabina” wzdłuż krawędzi obiektu staje się mniej zauważalna. Im wyższy oryginalny obraz i współczynnik wygładzania (2x, 4x, 8x, 16x, 32x), tym mniej kroków będzie w modelach. MSAA, w przeciwieństwie do FSAA, wygładza tylko krawędzie obiektów, co znacznie oszczędza zasoby karty graficznej, ale ta technika może pozostawiać artefakty wewnątrz wielokątów.

Wcześniej wygładzanie krawędzi zawsze znacznie zmniejszało liczbę klatek na sekundę w grach, ale teraz nieznacznie wpływa na liczbę klatek, a czasami nie wpływa wcale.

teselacja

Wykorzystując teselację w modelu komputerowym, liczbę wielokątów zwiększa się dowolną liczbę razy. Aby to zrobić, każdy wielokąt jest podzielony na kilka nowych, które znajdują się w przybliżeniu tak samo jak oryginalna powierzchnia. Ta metoda ułatwia zwiększenie szczegółowości prostych obiektów 3D. W tym przypadku jednak zwiększy się również obciążenie komputera, a w niektórych przypadkach nie można wykluczyć nawet niewielkich artefaktów.

Na pierwszy rzut oka teselację można pomylić z mapowaniem paralaksy. Chociaż są to zupełnie inne efekty, ponieważ teselacja faktycznie zmienia geometryczny kształt obiektu, a nie tylko symuluje relief. Ponadto można go zastosować do prawie każdego obiektu, natomiast zastosowanie mapowania paralaksy jest bardzo ograniczone.

Technologia teselacji znana jest w kinie od lat 80-tych, ale dopiero od niedawna jest wspierana w grach, a raczej po tym, jak akceleratory graficzne w końcu osiągnęły wymagany poziom wydajności, na którym można ją wykonywać w czasie rzeczywistym.

Aby gra mogła korzystać z teselacji, wymaga karty graficznej obsługującej DirectX 11.

Synchronizacja pionowa

V-Sync to synchronizacja klatek gier z pionową częstotliwością odświeżania monitora. Jego istota polega na tym, że w momencie aktualizacji obrazu na ekranie wyświetlana jest w pełni obliczona klatka gry. Ważne jest, aby następna klatka (jeśli jest już gotowa) również pojawiła się nie później i nie wcześniej niż kończy się wyjście poprzedniej i zaczyna się następna.

Jeśli częstotliwość odświeżania monitora wynosi 60 Hz, a karta graficzna zdoła renderować scenę 3D z co najmniej taką samą liczbą klatek, to każde odświeżenie monitora wyświetli nową klatkę. Innymi słowy, w odstępie 16,66 ms użytkownik zobaczy na ekranie pełną aktualizację sceny gry.

Należy rozumieć, że przy włączonej synchronizacji pionowej fps w grze nie może przekroczyć częstotliwości odświeżania pionowego monitora. Jeżeli liczba klatek jest mniejsza niż ta wartość (w naszym przypadku mniejsza niż 60 Hz), to w celu uniknięcia strat wydajności konieczne jest włączenie potrójnego buforowania, w którym klatki są z góry przeliczane i przechowywane w trzech osobnych buforach , co pozwala na częstsze ich przesyłanie na ekran.

Głównym zadaniem synchronizacji pionowej jest wyeliminowanie efektu przesunięcia klatki, który pojawia się, gdy dolna część wyświetlacza jest wypełniona jedną klatką, a górna część jest już wypełniona inną, przesuniętą względem poprzedniej.

przetwarzanie końcowe

Jest to ogólna nazwa wszystkich efektów, które są stosowane do już gotowej klatki w pełni renderowanej sceny 3D (innymi słowy do dwuwymiarowego obrazu) w celu poprawy jakości końcowego obrazu. Przetwarzanie końcowe wykorzystuje pixel shadery i jest stosowane w przypadkach, gdy dodatkowe efekty wymagają pełnych informacji o całej scenie. W oderwaniu od pojedynczych obiektów 3D, takie techniki nie mogą być stosowane bez pojawienia się artefaktów w kadrze.

Wysoki zakres dynamiki (HDR)

Efekt często używany w scenach gier z kontrastowym oświetleniem. Jeśli jeden obszar ekranu jest bardzo jasny, a inny bardzo ciemny, wiele szczegółów w każdym obszarze jest traconych i wygląda monotonnie. HDR dodaje więcej gradacji do kadru i pozwala szczegółowo opisać scenę. Aby go użyć, zwykle musisz pracować z szerszym zakresem odcieni niż może zapewnić standardowa 24-bitowa precyzja. Wstępne obliczenia odbywają się z większą dokładnością (64 lub 96 bitów), a dopiero na końcowym etapie obraz jest dostosowywany do 24 bitów.

HDR jest często używany do implementacji efektu adaptacji wizji, gdy bohater w grach opuszcza ciemny tunel na dobrze oświetlonej powierzchni.

Kwiat

Bloom jest często używany w połączeniu z HDR, a także ma dość bliskiego krewniaka - Glow, dlatego te trzy techniki są często mylone.

Bloom symuluje efekt, który można zaobserwować podczas fotografowania bardzo jasnych scen konwencjonalnymi aparatami. Na uzyskanym obrazie intensywne światło wydaje się zajmować większą objętość niż powinno i „wspina się” na obiekty, mimo że znajduje się za nimi. Podczas korzystania z Blooma na granicach obiektów mogą pojawić się dodatkowe artefakty w postaci kolorowych linii.

Ziarno filmu

Ziarno to artefakt występujący w telewizji analogowej o słabym sygnale, na starych magnetycznych kasetach wideo lub fotografiach (w szczególności na zdjęciach cyfrowych zrobionych przy słabym oświetleniu). Gracze często się rozłączają ten efekt, bo do pewnego stopnia psuje obraz, a nie poprawia go. Aby to zrozumieć, można biec efekt masowy w każdym z trybów. Na przykład w niektórych „horrorach” Ciche Wzgórze, szum na ekranie wręcz przeciwnie dodaje atmosfery.

rozmycie w ruchu

Motion Blur - efekt rozmycia obrazu przy szybkim poruszaniu kamerą. Może być z powodzeniem stosowany, gdy scenie należy nadać większą dynamikę i szybkość, dlatego jest szczególnie poszukiwany w gry wyścigowe. W strzelankach użycie rozmycia nie zawsze jest odbierane jednoznacznie. Właściwe zastosowanie Motion Blur może dodać kinowej jakości do tego, co dzieje się na ekranie.

Efekt pomoże również zawoalować, jeśli to konieczne. niska częstotliwość zmieniaj klatki i dodaj płynność rozgrywce.

SSAO

Ambient occlusion to technika stosowana w celu dodania fotorealizmu do sceny poprzez stworzenie bardziej realistycznego oświetlenia znajdujących się w niej obiektów, które uwzględnia obecność innych obiektów znajdujących się w pobliżu o własnych właściwościach pochłaniania i odbijania światła.

Screen Space Ambient Occlusion to zmodyfikowana wersja Ambient Occlusion, która symuluje również pośrednie oświetlenie i cieniowanie. Pojawienie się SSAO wynikało z faktu, że przy obecnym poziomie wydajności GPU, Ambient Occlusion nie mogło być wykorzystywane do renderowania scen w czasie rzeczywistym. Za zwiększenie wydajności w SSAO trzeba zapłacić niższą jakością, ale nawet to wystarczy, aby poprawić realizm obrazu.

SSAO działa według uproszczonego schematu, ale ma wiele zalet: metoda nie zależy od złożoności sceny, nie używa Baran, może działać w dynamicznych scenach, nie wymaga wstępnego przetwarzania ramki i ładuje tylko kartę graficzną bez zużywania zasobów procesora.

cieniowanie Cel

Gry z efektem cieniowania Cel powstają od 2000 roku, a przede wszystkim pojawiły się na konsolach. Na PC ta technika stała się naprawdę popularna zaledwie kilka lat po premierze sensacyjnej strzelanki XIII. Dzięki cieniowaniu Cel każda klatka jest prawie jak ręcznie narysowany rysunek lub fragment bajki dla dzieci.

Komiksy tworzone są w podobnym stylu, więc technika ta jest często wykorzystywana w grach z nimi związanych. Z najnowszych znanych wydań możemy wymienić strzelankę Borderlands, w której cieniowanie Cel jest widoczne gołym okiem.

Cechą tej technologii jest użycie ograniczonego zestawu kolorów, a także brak płynnych gradientów. Nazwa efektu pochodzi od słowa Cel (Celluloid), czyli przezroczystego materiału (filmu), na którym rysowane są filmy animowane.

Głębia pola

Głębia ostrości to odległość między bliższą i dalszą krawędzią przestrzeni, w obrębie której wszystkie obiekty będą ostre, a reszta sceny będzie rozmyta.

Do pewnego stopnia głębię ostrości można zaobserwować po prostu skupiając się na obiekcie znajdującym się blisko oczu. Wszystko za tym się rozmyje. Jest też odwrotnie: jeśli skupisz się na odległych obiektach, wszystko przed nimi okaże się rozmyte.

Na niektórych zdjęciach widać efekt głębi ostrości w postaci przerośniętej. To właśnie ten stopień rozmycia często próbuje się symulować w scenach 3D.

W grach wykorzystujących głębię ostrości gracz zazwyczaj ma silniejsze poczucie obecności. Na przykład, patrząc gdzieś przez trawę lub krzaki, widzi tylko małe fragmenty sceny w centrum uwagi, co stwarza iluzję obecności.

Wpływ na wydajność

Aby dowiedzieć się, jak włączenie niektórych opcji wpływa na wydajność, skorzystaliśmy z testu porównawczego gier Heaven DX11 Benchmark 2.5. Wszystkie testy zostały przeprowadzone na układzie Intel Core2 Duo e6300, GeForce GTX460 przy rozdzielczości 1280x800 pikseli (z wyjątkiem synchronizacji pionowej, gdzie rozdzielczość wynosiła 1680x1050).

Jak już wspomniano, filtrowanie anizotropowe nie ma prawie żadnego wpływu na liczbę klatek. Różnica między wyłączoną anizotropią a 16x to tylko 2 klatki, więc zalecamy, aby zawsze ustawiać ją na maksimum.

Antyaliasing w Heaven Benchmark obniżył liczbę klatek na sekundę bardziej niż się spodziewaliśmy, szczególnie w najtrudniejszym trybie 8x. Niemniej jednak, ponieważ 2x wystarczy na zauważalną poprawę obrazu, radzimy wybrać tę opcję, jeśli granie na wyższych jest niewygodne.

Teselacja, w przeciwieństwie do poprzednich parametrów, może przybierać dowolną wartość w każdej grze. W Heaven Benchmark obraz znacznie się bez niego pogarsza, a na maksymalnym poziomie wręcz przeciwnie, staje się trochę nierealny. Dlatego należy ustawić wartości pośrednie - umiarkowane lub normalne.

Więcej niż wysoka rozdzielczość aby fps nie było ograniczone pionową częstotliwością odświeżania ekranu. Zgodnie z oczekiwaniami liczba klatek przez prawie cały test z włączoną synchronizacją wynosiła wyraźnie około 20 lub 30 klatek/s. Wynika to z faktu, że są one wyświetlane jednocześnie z odświeżaniem ekranu, a przy częstotliwości odświeżania 60 Hz można to zrobić nie z każdym impulsem, a tylko co sekundę (60/2 = 30 fps) lub trzecią ( 60/3 = 20 fps).fps). Gdy synchronizacja pionowa była wyłączona, liczba klatek wzrosła, ale na ekranie pojawiały się charakterystyczne artefakty. Potrójne buforowanie nie wpłynęło pozytywnie na płynność sceny. Być może wynika to z faktu, że w ustawieniach sterownika karty graficznej nie ma opcji wymuszenia wyłączenia buforowania, a normalna dezaktywacja jest ignorowana przez test porównawczy i nadal korzysta z tej funkcji.

Gdyby Heaven Benchmark był grą, to przy maksymalnych ustawieniach (1280×800; AA – 8x; AF – 16x; Tessellation Extreme) byłoby niewygodnie się w nią grać, bo 24 klatki to zdecydowanie za mało. Przy minimalnej utracie jakości (1280×800; AA – 2x; AF – 16x, Teselacja Normalna) można osiągnąć bardziej akceptowalne 45 kl./s.