Как определить аппаратное ускорение для OpenGL в Windows
-
13-09-2019 - |
Вопрос
Существует ли вызов Win32 API, который определяет текущий уровень аппаратного ускорения системы пользователя?Мне не нужно изменять настройки, но я хотел бы уменьшить уровень детализации моего дисплея OpenGL, если аппаратное ускорение отключено.
Решение
Из ЧАСТО задаваемых вопросов: Как я узнаю, что моя программа использует аппаратное ускорение на карте Wintel?
Если вы используете интерфейс Win32 (в отличие от GLUT), вызовите DescribePixelFormat() и проверьте возвращенное битовое поле dwFlags.Если Значение PFD_GENERIC_ACCELERATED выбрано и Установлено значение PFD_GENERIC_FORMAT, то формат пикселей поддерживается только универсальной реализацией.Аппаратное обеспечение ускорение для этого формата невозможно .Для аппаратного ускорения вам необходимо выбрать другой формат.
Другие советы
Или вы можете проверить возможности устройства с помощью Direct3D ( Direct3D ), если вы используете Windows.В "стандартный" GDI Win32 Вызов GetDeviceCaps() не имеет дела с 3D...