Qu'est-ce que le mode immédiat?
En programmation graphique, le mode immédiat est un état de rendu dans lequel la séquence normale d'actions et le cadre dans lequel elles existent sont complètement ignorés et, dans certains cas, désactivés. Cela signifie que l'application en cours d'exécution doit appeler directement les fonctions nécessaires pour afficher quoi que ce soit sur un dispositif d'affichage tel qu'un moniteur au lieu de s'appuyer sur des cycles innés en dehors du programme. Le mode immédiat est le plus souvent utilisé pour les programmes nécessitant des temps de rendu aussi rapides que possible, tels que les applications multimédias ou les jeux vidéo, ou est utilisé comme outil pédagogique pour apprendre à utiliser des bibliothèques graphiques complexes. Un programme mal conçu ou mal implémenté qui utilise le rendu en mode immédiat peut provoquer l'apparition et la persistance d'écrans vierges ou de zones vierges d'un écran, car aucun appel automatique n'est effectué pour redessiner le cadre actuel, si nécessaire. Une variante est connue sous le nom de mode mixte, dans lequel un programme maintient la structure de rendu conservée en place tout en essayant de contrôler certaines parties de celle-ci par le biais de fonctions de style en mode immédiat.
Dans de nombreuses applications informatiques, le rendu d'informations ou de graphiques sur un dispositif d'affichage est effectué via une architecture de programme pilotée par les événements. Cela signifie que l'écran est redessiné uniquement en réponse à un type d'entrée d'un programme ou de l'utilisateur. Cela fonctionne bien pour des programmes tels que les logiciels de traitement de texte ou les navigateurs Web, mais pas pour les applications telles que les lecteurs multimédias, les logiciels de rendu artistique ou les jeux vidéo dans lesquels un écran pourrait devoir être redessiné 60 fois ou plus par seconde sans aucun type de contenu. contribution. La solution consiste à utiliser le mode immédiat.
Au lieu de permettre à un système d'exploitation ou à une bibliothèque graphique de contrôler quand et comment un affichage est mis à jour et restitué, le programme prend le contrôle total en supprimant toutes les barrières entre le périphérique d'affichage et le code de l'application. De cette manière, un programme peut créer sa propre boucle d'affichage, à l'aide de minuteries et d'un autre code personnalisé, de sorte que l'écran soit redessiné autant de fois que nécessaire pour obtenir le résultat souhaité. Une des complications liées à l'utilisation du mode immédiat réside dans le fait que certaines des fonctionnalités transparentes du rendu en mode conservé, telles que le moteur de géométrie, peuvent ne pas être disponibles, ce qui nécessite que l'application dispose de ses propres implémentations. Un autre problème est qu’un programme peut nécessiter une grande quantité de puissance de traitement pour maintenir la boucle de rendu à une vitesse acceptable.
Une alternative à l'utilisation exclusive du mode immédiat consiste à utiliser un mode de rendu mixte. Dans cette conception, la structure de rendu en mode retenu est conservée afin que toutes les fonctionnalités d'une bibliothèque graphique puissent être utilisées, mais certaines fonctions ou méthodes sont remplacées et remplacées par du code généré par l'utilisateur, ce qui peut forcer la structure de rendu existante à fonctionner de manière manière qui ressemble plus à mode immédiat. Cette méthode peut être efficace, mais elle peut également créer un code difficile à déboguer et susceptible d'avoir des résultats inattendus, en fonction de l'interaction du code utilisateur et du code de la bibliothèque.