Skip to main content

Jaki jest tryb bezpośredni?

W programowaniu grafiki komputerowej tryb bezpośredni jest stanem renderowania, w którym normalna sekwencja działań i ramy, w których istnieją, są całkowicie omijane, a w niektórych przypadkach dezaktywowane.Oznacza to, że uruchamiana aplikacja musi bezpośrednio wywołać funkcje niezbędne do pokazania wszystkiego na urządzeniu wyświetlającym, takim jak monitor zamiast polegać na wrodzonych cyklach poza programem.Tryb natychmiastowy jest najczęściej używany do programów, które wymagają najszybszych możliwych czasów renderowania, takich jak aplikacje multimedialne lub gry wideo, lub jest używany jako narzędzie dydaktyczne podczas uczenia się, jak korzystać z złożonych bibliotek graficznych.Słabo zaprojektowany lub niewłaściwie zaimplementowany program, który korzysta z renderowania w trybie natychmiastowym, może powodować, że puste ekrany lub puste obszary ekranu pojawiają się i utrzymują, ponieważ w razie potrzeby nie wykonują żadnych automatycznych połączeń, aby przerysować bieżącą ramkę.Jedna odmiana jest znana jako tryb mieszany, w którym program utrzymuje zatrzymane ramy renderowania podczas próby kontrolowania niektórych części za pomocą funkcji stylu trybu bezpośredniego.poprzez architekturę programu opartą na wydarzeniach.Oznacza to, że ekran jest przerwany tylko w odpowiedzi na pewien rodzaj danych wejściowych z programu lub użytkownika.Działa to dobrze w programach takich jak edytory tekstu lub przeglądarki internetowe, ale nie działa w przypadku aplikacji takich jak gracze multimediawejście.Rozwiązaniem jest użycie trybu bezpośredniego.

Zamiast umożliwienia systemu operacyjnego lub biblioteki graficznej na kontrolę, kiedy i jak wyświetlacz jest aktualizowany i renderowany, program przejmuje pełną kontrolę, usuwając wszelkie bariery między urządzeniem wyświetlanym a kodem aplikacji.W ten sposób program może utworzyć własną pętlę wyświetlania za pomocą liczników czasu i innego kodu niestandardowego, więc ekran jest odrany tyle lub kilka razy, ile jest konieczne, aby osiągnąć pożądany wynik.Jednym z powikłań w trybie bezpośredniego jest to, że niektóre z przezroczystych cech renderowania trybu zatrzymanego i mdash;takie jak silnik geometrii i mdash;może nie być dostępny, wymagając od aplikacji posiadania własnych implementacji.Innym problemem jest to, że program może wymagać dużej mocy przetwarzania, aby utrzymać pętlę renderowania z akceptowalną prędkością.

Alternatywą dla wyłącznego korzystania z trybu natychmiastowego jest użycie trybu renderowania mieszanego.W tym projekcie utrzymywane są ramy renderowania trybu zatrzymanego, aby można było zastosować całą funkcjonalność biblioteki graficznej, ale niektóre funkcje lub metody są zastąpione i zastępowane kodem generowanym przez użytkownika, które mogą zmusić istniejące ramy renderowania do działania w aSposób, w jaki bardziej przypomina tryb bezpośredni.Ta metoda może być skuteczna, ale może również tworzyć kod, który jest trudny do debugowania i może mieć nieoczekiwane wyniki, w zależności od tego, w jaki sposób kod użytkownika i kod biblioteki.