Skip to main content

O que é o modo OpenGL® acelerado?

O modo Open Graphics Library acelerado (OpenGL®) em gráficos de computador é um estado que pode ser ativado em uma placa gráfica de computador para usar as habilidades de hardware da placa gráfica para executar alguns ou todos os comandos e renderizações do OpenGL® em vez de usar o padrão para funcionalidade puramente baseada em software. Nem todas as placas gráficas suportam um modo OpenGL® acelerado por hardware, e algumas que suportam o modo não aceleram totalmente todos os comandos disponíveis na biblioteca OpenGL®. Dependendo do hardware e dos drivers usados ​​em um computador ou dispositivo específico, o modo OpenGL® acelerado ocasionalmente pode ser mais lento que o modo de renderização de software, seja por causa de conflitos ou apenas porque um processador de computador é mais rápido que o processador gráfico. Ao escrever aplicativos que usam o modo OpenGL® acelerado, pode ser difícil detectar e usar com precisão o modo exclusivamente, porque a implementação de como lidar com os modos acelerados não é padronizada e pode variar muito de um driver para o outro.

A biblioteca de gráficos OpenGL® é uma interface de programação abstrata (API) que fornece um buffer entre o hardware gráfico e o software criado para acessá-lo. Em geral, o OpenGL® trabalha com um modelo cliente-servidor, o que significa que o software se torna um cliente que envia solicitações e informações de desenho para o servidor, que geralmente é o driver e o hardware do OpenGL®. O driver fornecido pelo sistema operacional ou pelo fabricante da placa gráfica pode variar bastante em sua implementação interna, portanto, algumas funcionalidades de hardware mais avançadas nem sempre são padronizadas. O modo OpenGL® acelerado por hardware é um dos recursos deixados para os fabricantes de placas gráficas para implementação.

Quando um programa usa o modo OpenGL® acelerado por hardware, o que realmente acontece é que uma chamada de função OpenGL® é feita e passada ao driver. Se o driver detectar que a aceleração está ativa ou que uma operação específica possui suporte direto ao hardware, a função é passada diretamente para a unidade de processamento gráfico (GPU) localizada na placa gráfica. Se não houver aceleração ativa ou presente, o comando será processado e executado por meio de chamadas e algoritmos padrão de software. Na maioria dos casos, a aceleração de hardware fornece tempos de renderização muito mais rápidos que o software puro.

Algumas placas gráficas suportam um modo OpenGL® acelerado, mas apenas em uma resolução e profundidade de cores específicas. Isso significa que uma placa de vídeo pode usar automaticamente um modo acelerado se, quando um programa inicializar o OpenGL®, solicitar uma resolução e profundidade de cores específicas. O hardware gráfico pode ser muito diferente; portanto, esse modo nem sempre é aparente e, às vezes, pode ser difícil de detectar automaticamente de um programa sem a entrada do usuário. Além do driver e do hardware terem que suportar um modo OpenGL® acelerado, o monitor ou dispositivo de vídeo também deve ter suporte nativo para a resolução e profundidade de cores solicitadas, caso contrário, a mudança para um modo acelerado falhará e poderá impedir a execução de um programa.