Como detectar a aceleração de hardware para OpenGL no Windows
-
13-09-2019 - |
Pergunta
Existe uma chamada API Win32 que detecta o nível de aceleração de hardware atual do sistema de um usuário? Eu não tenho nenhuma necessidade de alterar a definição, mas eu gostaria de escalar para trás o nível de detalhe para minha exibição OpenGL se a aceleração de hardware está desativada.
Solução
Desde o FAQ: Como sei se o meu programa está usando aceleração de hardware em um cartão de Wintel?
Se você estiver usando a interface Win32 (em oposição a GLUT), chamada DescribePixelFormat () e verificar o dwFlags retornado bitfield. E se PFD_GENERIC_ACCELERATED é clara e PFD_GENERIC_FORMAT está definido, então o formato de pixel é suportado apenas pela implementação genérica. ferragens aceleração não é possível para este formato. Para aceleração de hardware, você necessidade de escolher um formato diferente.
Outras dicas
Ou você pode interrogar a capacidade do dispositivo com Direct3D , se você estiver no Windows. Os GetDeviceCaps "padrão" GDI Win32 ( ) chamada não lidar com 3D ...