¿Qué es el modo inmediato?
En la programación de gráficos por computadora, el modo inmediato es un estado de representación en el que la secuencia normal de acciones y el marco en el que existen se omiten por completo y, en algunos casos, se desactivan. Esto significa que la aplicación que se ejecuta necesita llamar directamente a las funciones necesarias para mostrar cualquier cosa en un dispositivo de visualización, como un monitor, en lugar de depender de ciclos innatos fuera del programa. El modo inmediato se usa con mayor frecuencia para programas que requieren los tiempos de renderizado más rápidos posibles, como aplicaciones multimedia o videojuegos, o se usa como una herramienta de enseñanza cuando se aprende a usar bibliotecas gráficas complejas. Un programa mal diseñado o mal implementado que utiliza la representación de modo inmediato puede hacer que aparezcan y persistan pantallas en blanco o áreas en blanco de una pantalla, porque no se realizan llamadas automáticas para volver a dibujar el marco actual si es necesario. Una variación se conoce como modo mixto, en el que un programa mantiene el marco de representación retenido en su lugar mientras intenta controlar ciertas partes a través de funciones de estilo de modo inmediato.
En muchas aplicaciones informáticas, la representación de información o gráficos en un dispositivo de visualización se realiza a través de una arquitectura de programa basada en eventos. Esto significa que la pantalla se vuelve a dibujar solo en respuesta a algún tipo de entrada de un programa o del usuario. Esto funciona bien para programas como procesadores de texto o navegadores web, pero no funciona para aplicaciones como reproductores multimedia, software de renderizado artístico o videojuegos en los que una pantalla puede necesitar ser rediseñada 60 o más veces por segundo sin ningún tipo de entrada. La solución es usar el modo inmediato.
En lugar de permitir que un sistema operativo o una biblioteca de gráficos controlen cuándo y cómo se actualiza y procesa una pantalla, el programa toma el control completo, eliminando cualquier barrera entre el dispositivo de pantalla y el código de la aplicación. De esta manera, un programa puede crear su propio bucle de visualización, utilizando temporizadores y otro código personalizado, por lo que la pantalla se vuelve a dibujar tantas o tan pocas veces como sea necesario para lograr el resultado deseado. Una complicación en el uso del modo inmediato es que algunas de las características transparentes de la representación del modo retenido, como un motor de geometría, pueden no estar disponibles, lo que requiere que la aplicación tenga sus propias implementaciones. Otro problema es que un programa puede requerir una gran cantidad de potencia de procesamiento para mantener el ciclo de renderizado a una velocidad aceptable.
Una alternativa al uso exclusivo del modo inmediato es usar un modo de renderizado mixto. En este diseño, el marco de representación de modo retenido se mantiene en su lugar para que se pueda utilizar toda la funcionalidad de una biblioteca de gráficos, pero ciertas funciones o métodos se anulan y reemplazan con código generado por el usuario que puede forzar al marco de representación existente a funcionar en un manera que se parece más al modo inmediato. Este método puede ser efectivo, pero también puede crear código que es difícil de depurar y podría tener resultados inesperados, dependiendo de cómo interactúen el código de usuario y el código de la biblioteca.