Как определить аппаратное ускорение для OpenGL в Windows

StackOverflow https://stackoverflow.com/questions/1122730

  •  13-09-2019
  •  | 
  •  

Вопрос

Существует ли вызов Win32 API, который определяет текущий уровень аппаратного ускорения системы пользователя?Мне не нужно изменять настройки, но я хотел бы уменьшить уровень детализации моего дисплея OpenGL, если аппаратное ускорение отключено.

Это было полезно?

Решение

Из ЧАСТО задаваемых вопросов: Как я узнаю, что моя программа использует аппаратное ускорение на карте Wintel?

Если вы используете интерфейс Win32 (в отличие от GLUT), вызовите DescribePixelFormat() и проверьте возвращенное битовое поле dwFlags.Если Значение PFD_GENERIC_ACCELERATED выбрано и Установлено значение PFD_GENERIC_FORMAT, то формат пикселей поддерживается только универсальной реализацией.Аппаратное обеспечение ускорение для этого формата невозможно .Для аппаратного ускорения вам необходимо выбрать другой формат.

Другие советы

Или вы можете проверить возможности устройства с помощью Direct3D ( Direct3D ), если вы используете Windows.В "стандартный" GDI Win32 Вызов GetDeviceCaps() не имеет дела с 3D...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top