Jaki jest tryb bezpośredni?
W programowaniu grafiki komputerowej tryb natychmiastowy 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 renderowanial Niektóre części jej poprzez funkcje stylu trybu bezpośredniego.
W wielu aplikacjach komputerowych renderowanie informacji lub grafiki do urządzenia wyświetlającego jest wykonywane za pośrednictwem architektury programu opartego na zdarzeniach. 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 multimedialni, oprogramowanie artystyczne lub gry wideo, w których ekran może wymagać przerysowania 60 lub więcej razy w każdej sekundzie bez żadnego rodzaju danych wejściowych. Rozwiązaniem jest użycie trybu natychmiastowego.
Zamiast umożliwić kontrolę systemu operacyjnego lub biblioteki graficznej, kiedy i jak wyświetlacz jest aktualizowany i renderowany, program przejmuje pełną kontrolę, usuwając wszelkie bariery między urządzeniem wyświetlającym a kodem aplikacji. W ten sposób program może stworzyć własną wyprawęY Pętla, używając liczników czasu i innego kodu niestandardowego, więc ekran jest odrany tyle lub tyle razy, ile jest to konieczne do osiągnięcia pożądanego rezultatu. Jednym z powikłań w trybie bezpośredniego jest to, że niektóre z przezroczystych cech renderowania trybu zatrzymanego - takie jak silnik geometrii - mogą nie być dostępne, co wymaga od aplikacji posiadania własnych implementacji. Innym problemem jest to, że program może wymagać dużej mocy obliczeniowej, aby utrzymać pętlę renderowania z akceptowalną prędkością.
Alternatywą dla wyłącznie korzystania z trybu bezpośredniego 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óry może zmusić istniejące ramy renderowania do działania w sposób bardziej podobny do trybu bezpośrednio. Ta metoda może być skuteczna, ale może także tworzyć kod, który jest trudny do debłąd i mogą mieć nieoczekiwane wyniki, w zależności od tego, w jaki sposób kod użytkownika i kod biblioteki oddziałują