Как определить, является ли контекст OpenGL аппаратно ускоренным? - PullRequest
13 голосов
/ 13 июля 2010

Я знаю, что если реализация openGl не находит подходящего драйвера, она с радостью откатится назад и отобразит все в программном режиме.Это хорошо для графических приложений, но не приемлемо для компьютерных игр.

Я знаю многих пользователей, использующих Windows XP, и если пользователь не устанавливает драйвер видеокарты для своего графического процессора, то OpenGL не будет аппаратно ускоряться(в то время как DirectX или нет, он выдаст ошибки).

Есть ли лучший (и, возможно, кроссплатформенный) способ определить, использует ли OpenGL аппаратное ускорение, чем измерение FPS, и если он слишком низкий, уведомить пользователя?

Я знаю, что такие игры, как Quake3, могут это как-то выяснить ...

Ответы [ 3 ]

7 голосов
/ 13 июля 2010

Кажется, что нет прямого способа запросить OpenGL для этого, но есть некоторые методы, которые могут помочь вам определить, присутствует ли аппаратное ускорение. Смотрите здесь для идей Windows. В среде UNIX glxinfo | grep "direct rendering" должно работать.

1 голос
/ 13 июля 2010

Этот предыдущий ответ предполагает, что проверки на наличие только у пользователя OpenGL 1.1 может быть достаточно.

Как написать программу установки, которая проверяет поддержку openGL?

...