sposoby zapobiegania rozrywaniu wideo zależą od urządzenia wyświetlającego i technologii karty graficznej, używanego oprogramowania i charakteru materiału wideo. Najczęstszym rozwiązaniem jest użycie wielokrotnego buforowania.
większość systemów wykorzystuje wielokrotne buforowanie i niektóre sposoby synchronizacji cykli odświeżania pamięci wyświetlacza i wideo.
Synchronizacja Pionowaedytuj
synchronizacja pionowa jest opcją w większości systemów, w których karta graficzna nie może robić niczego widocznego w pamięci wyświetlacza, dopóki monitor nie zakończy bieżącego cyklu odświeżania.,
podczas pionowego odstępu wygaszania sterownik nakazuje karcie graficznej szybkie skopiowanie obszaru graficznego poza ekranem do aktywnego obszaru wyświetlania (podwójne buforowanie) lub traktowanie obu obszarów pamięci jako wyświetlalnych i po prostu przełączanie się między nimi (odwracanie strony).
Karty graficzne Nvidia i AMD zapewniają opcję „Adaptive Vsync”, która włącza synchronizację pionową tylko wtedy, gdy liczba klatek na sekundę w oprogramowaniu przekracza częstotliwość odświeżania wyświetlacza, wyłączając ją w przeciwnym razie., Eliminuje to zacinanie się, które występuje, gdy częstotliwość klatek silnika renderującego spada poniżej częstotliwości odświeżania wyświetlacza.
alternatywnie technologie takie jak FreeSync i G-Sync odwracają tę koncepcję i dostosowują częstotliwość odświeżania wyświetlacza do treści pochodzących z komputera. Takie technologie wymagają specjalnego wsparcia zarówno karty wideo, jak i wyświetlacza.
Komplikacjedytuj
gdy używana jest synchronizacja pionowa, szybkość klatek silnika renderującego jest ograniczona do szybkości klatek sygnału wideo., Ta funkcja zwykle poprawia jakość wideo, ale w niektórych przypadkach wiąże się z kompromisami.
JudderEdit
synchronizacja pionowa może również powodować artefakty w prezentacjach wideo i filmów, ponieważ są one na ogół rejestrowane z szybkością klatek znacznie niższą niż typowe szybkości klatek monitora (24-30 klatek / s). Gdy taki film jest odtwarzany na monitorze ustawionym na typową częstotliwość odświeżania 60 Hz, odtwarzacz wideo dość często omija termin monitora, A międzychodzące klatki są wyświetlane nieco szybciej niż zamierzano, co skutkuje efektem podobnym do juddera., (Zobacz Telecine: różnice w szybkości klatek na sekundę.)
input lagEdit
gry wideo, które używają szerokiej gamy silników renderujących, zwykle korzystają wizualnie z synchronizacji pionowej, ponieważ silnik renderujący zwykle oczekuje się, że zbuduje każdą klatkę w czasie rzeczywistym, na podstawie dowolnych zmiennych silnika określonych w momencie żądania klatki. Ponieważ jednak synchronizacja pionowa powoduje opóźnienie wejścia, zakłóca ona interaktywny charakter gier, a szczególnie zakłóca gry, które wymagają precyzyjnego pomiaru czasu lub szybkiego czasu reakcji.,
BenchmarkingEdit
wreszcie, analiza porównawcza karty graficznej lub silnika renderującego zazwyczaj oznacza, że sprzęt i oprogramowanie renderują wyświetlacz tak szybko, jak to możliwe, bez względu na możliwości monitora lub wynikające z niego rozrywanie wideo. W przeciwnym razie monitor i karta graficzna dławią program porównawczy, powodując nieprawidłowe wyniki.
Inne technikiedytuj
niektóre systemy graficzne pozwalają oprogramowaniu wykonywać dostęp do pamięci tak, że pozostają w tym samym punkcie czasowym w stosunku do cyklu odświeżania sprzętu wyświetlacza, znanego jako przerwanie rastrowe lub wyścig wiązki., W takim przypadku oprogramowanie zapisuje do obszarów ekranu, które właśnie zostały zaktualizowane, pozostając tuż za aktywnym punktem odświeżania monitora. Pozwala to na kopiowanie procedur lub silników renderujących o mniejszej przewidywalnej przepustowości, o ile silnik renderujący może „dogonić” aktywny punkt odświeżania monitora, gdy zostanie w tyle.
alternatywnie oprogramowanie może pozostać tuż przed aktywnym punktem odświeżania. W zależności od tego, jak daleko do przodu zdecydujesz się pozostać, metoda ta może wymagać kodu, który kopiuje lub renderuje wyświetlacz ze stałą, stałą prędkością., Zbyt duże opóźnienia powodują, że monitor czasami wyprzedza oprogramowanie, co prowadzi do renderowania artefaktów, rozrywania itp.
oprogramowanie demonstracyjne na klasycznych systemach, takich jak Commodore 64 i ZX Spectrum, często wykorzystywało te techniki ze względu na przewidywalny charakter ich systemów wideo, aby osiągnąć efekty, które w przeciwnym razie mogłyby być niemożliwe.
Dodaj komentarz