Cómo detectar la aceleración de hardware para OpenGL en Windows
-
13-09-2019 - |
Pregunta
¿Hay una llamada a la API de Win32 que detecta el nivel de aceleración de hardware actual del sistema de un usuario? No tengo ninguna necesidad de cambiar la configuración, pero me gustaría que reducir el nivel de detalle para mi pantalla OpenGL si la aceleración de hardware está desactivada.
Solución
Desde el FAQ: ¿Cómo sé que mi programa está utilizando la aceleración de hardware en una tarjeta de Wintel?
Si está utilizando la interfaz Win32 (en contraposición a GLUT), llamada DescribePixelFormat () y comprobar el dwFlags regresado del campo de bits. Si PFD_GENERIC_ACCELERATED es clara y PFD_GENERIC_FORMAT se establece, entonces la formato de píxel sólo es compatible con el implementación genérica. Hardware aceleración no es posible para este formato. Para la aceleración de hardware, que elegir un formato diferente.
Otros consejos
O puede interrogar a la capacidad del dispositivo con Direct3D , si estás en Windows. El GetDeviceCaps "estándar" GDI Win32 ( ) llamada no se ocupa de 3D ...