Есть ли вызов Win32 API, который определяет текущий уровень аппаратного ускорения системы пользователя? Мне не нужно менять настройку, но я бы хотел уменьшить уровень детализации моего дисплея OpenGL, если аппаратное ускорение отключено.
Из FAQ: Как узнать, что моя программа использует аппаратное ускорение на карте Wintel?
Если вы используете интерфейс Win32 (в отличие от GLUT), вызовите DescribePixelFormat () и проверьте вернул битовое поле dwFlags. Если PFD_GENERIC_ACCELERATED ясно и PFD_GENERIC_FORMAT установлен, затем Формат пикселей поддерживается только общая реализация. аппаратные средства ускорение не возможно для этого формат. Для аппаратного ускорения вы нужно выбрать другой формат.
Или вы можете запросить возможности устройства с помощью Direct3D , если вы используете Windows. Вызов "стандартного" GDI Win32 GetDeviceCaps () не работает с 3D ...