Che cos'è la modalità immediata?

Nella programmazione di computer grafica, modalità immediata è uno stato di rendering in cui la normale sequenza di azioni, ed il quadro in cui esistono, sono completamente bypassati e, in alcuni casi, disattivate. Questo significa che l'in esecuzione applicazione deve chiamare direttamente le funzioni necessarie per dimostrare qualche cosa su un dispositivo di visualizzazione come un monitor invece di basarsi su cicli innate di fuori del programma. Modalità immediata è più spesso utilizzato per i programmi che richiedono il più veloce possibile, i tempi di rendering, ad esempio applicazioni multimediali o video giochi, o viene utilizzato come strumento didattico per imparare a utilizzare le librerie grafiche complesse. Un programma mal progettato o non correttamente implementato che utilizza la modalità di rendering immediato può causare schermi vuoti o aree vuote di una schermata di apparire e persistere, perché non chiamate automatiche sono fatti per ridisegnare il frame corrente, se necessario. Una variante è noto come modalità mista, in cui un programma mantiene il quadro di rendering trattenuto in posizione durante il tentativo di controllare alcune parti di esso attraverso funzioni immediati stile modalità.

In molte applicazioni per computer, rendendo le informazioni o immagini a un dispositivo di visualizzazione avviene attraverso il programma di architettura event-driven. Ciò significa che lo schermo viene ridisegnato solo in risposta a qualche tipo di input da un programma o all'utente. Questo funziona bene per i programmi come word processor o browser web, ma non funziona per le applicazioni come i lettori multimediali, software di rendering artistico o videogiochi in cui potrebbe avere bisogno di uno schermo per essere ridisegnato 60 o più volte al secondo, senza alcun tipo di input. La soluzione è quella di utilizzare la modalità immediata.

Invece di consentire un sistema operativo o una libreria grafica per controllare quando e come un display viene aggiornato e reso, il programma prende il controllo completo, eliminando eventuali barriere tra il dispositivo di visualizzazione e il codice dell'applicazione. In questo modo, un programma può creare il proprio ciclo di visualizzazione, utilizzando timer e altro codice personalizzato, quindi lo schermo viene ridisegnato tante o poche volte quanto è necessario per raggiungere il risultato desiderato. Una complicazione nell'uso modalità immediata è che alcune delle caratteristiche trasparenti di resa modalità trattenuta - come un motore geometrico - potrebbe non essere disponibile, richiedono l'applicazione di avere proprie implementazioni. Un altro problema è che un programma può richiedere una grande quantità di potenza di elaborazione per mantenere il ciclo di rendering ad una velocità accettabile.

Un'alternativa all'utilizzo modalità immediata esclusivamente è utilizzare una modalità di rendering mista. In questo disegno, il quadro di rendering modalità trattenuta è mantenuto in posizione in modo tutte le funzionalità di una libreria grafica può essere utilizzato, ma alcune funzioni o metodi sono ignorato e sostituito con il codice generato dall'utente che può forzare il quadro di rendering esistente per operare in un modo che è più come modalità immediata. Questo metodo può essere efficace, ma può anche creare un codice che è difficile da debug e potrebbe avere risultati inaspettati, a seconda di come il codice utente e il codice della libreria interagiscono.