¿Qué es el modo acelerado OpenGL®?
El modo acelerado de Open Graphics Library® (OpenGL®) en gráficos de computadora es un estado que se puede activar en una tarjeta de gráficos de computadora para usar las capacidades de hardware de la tarjeta de gráficos para ejecutar algunos o todos los comandos y representaciones de OpenGL® en lugar de pasar por defecto a funcionalidad puramente basada en software. No todas las tarjetas gráficas admiten un modo OpenGL® acelerado por hardware, y algunas que sí lo hacen no aceleran completamente todos los comandos disponibles en la biblioteca OpenGL®. Dependiendo del hardware y los controladores utilizados en una computadora o dispositivo en particular, el modo acelerado de OpenGL® ocasionalmente puede ser más lento que el modo de representación de software, ya sea por conflictos o simplemente porque el procesador de una computadora es más rápido que el procesador de gráficos. Al escribir aplicaciones que usan el modo acelerado OpenGL®, puede ser difícil detectar y usar con precisión el modo exclusivamente, porque la implementación de cómo manejar los modos acelerados no está estandarizada y puede variar mucho de un controlador a otro.
La biblioteca de gráficos OpenGL® es una interfaz de programación abstracta (API) que proporciona un búfer entre el hardware de gráficos y el software escrito para acceder a él. En general, OpenGL® funciona con un modelo cliente-servidor, lo que significa que el software se convierte en un cliente que luego envía solicitudes de dibujo e información al servidor, que generalmente es el controlador y el hardware OpenGL®. El controlador que proporciona el sistema operativo o el fabricante de la tarjeta gráfica puede variar mucho en su implementación interna, por lo que algunas funcionalidades de hardware más avanzadas no siempre están estandarizadas. El modo OpenGL® acelerado por hardware es una de las características que se deja a los fabricantes de tarjetas gráficas para su implementación.
Cuando un programa usa el modo OpenGL® acelerado por hardware, lo que realmente sucede es que se realiza una llamada a la función OpenGL® y se pasa al controlador. Si el controlador detecta que la aceleración está activa o que una operación específica tiene soporte directo de hardware, la función se pasa directamente a la unidad de procesamiento de gráficos (GPU) ubicada en la tarjeta gráfica. Si no hay aceleración activa o presente, el comando se procesará y ejecutará a través de llamadas y algoritmos de software estándar. En la mayoría de los casos, la aceleración de hardware proporciona tiempos de representación mucho más rápidos que el software puro.
Algunas tarjetas gráficas admiten un modo OpenGL® acelerado, pero solo a una resolución y profundidad de color específicas. Esto significa que una tarjeta gráfica puede usar automáticamente un modo acelerado si, cuando un programa inicializa OpenGL®, solicita una resolución y profundidad de color específicas. El hardware de gráficos puede ser muy diferente, por lo que este modo no siempre es aparente y, a veces, puede ser difícil de detectar automáticamente desde un programa sin la intervención del usuario. Además de que el controlador y el hardware deben admitir un modo OpenGL® acelerado, el monitor o dispositivo de visualización también debe tener soporte nativo para la resolución y profundidad de color solicitada, de lo contrario, el cambio a un modo acelerado fallará y podría evitar que se ejecute un programa.