Às vezes você precisa verificar se a aceleração 3D do Linux está realmente funcionando (além da glxinfo
saída). Isso pode ser feito rapidamente pela glxgears
ferramenta. No entanto, os FPS são frequentemente limitados à taxa de atualização vertical da tela (ou seja, 60 fps). Portanto, a ferramenta se torna mais ou menos inútil, já que até mesmo um software de renderização pode produzir glxgears a 60FPS facilmente em CPUs modernas.
Achei bastante difícil encontrar uma solução rápida e fácil para isso, eu respondo minha própria pergunta. Esperançosamente, isso economiza seu tempo.
vblank_mode=0
Agora estou obtendo 1375,257 FPS em um driver de vídeo Intel i965 antigo executando o OpenBSD 5.6.Se estiver usando os drivers de código fechado da NVIDIA, você pode variar o modo de sincronização vertical em tempo real usando a
__GL_SYNC_TO_VBLANK
variável de ambiente :Isso funciona para mim no Ubuntu 14.04 usando os drivers 346.46 NVIDIA.
fonte
Para gráficos Intel e drivers gráficos de código aberto AMD / ATI
Encontre a seção "Dispositivo"
/etc/X11/xorg.conf
que contém uma das seguintes diretivas:Driver "intel"
Driver "radeon"
Driver "fglrx"
E adicione a seguinte linha a essa seção:
E execute seu aplicativo com
vblank_mode
a variável de ambiente definida como0
:Para gráficos Nvidia com o driver proprietário Nvidia
A mesma alteração pode ser feita na
nvidia-settings
GUI desmarcando a opção emX Screen 0 / OpenGL Settings / Sync to VBlank
. Ou, se quiser apenas testar a configuração sem modificar seu~/.nvidia-settings-rc
arquivo, você pode fazer algo como:fonte
nvidia-settings --load-config-only --assign="SyncToVBlank=0"
apenas para alterar as configurações do monitor X (e evitar modificar o arquivo de configuração ou executar a GUI). Depois de executar,glxgears
você pode executarnvidia-settings --load-config-only
para restaurar as configurações - o que você provavelmente desejará fazer, pois é uma configuração persistente para a exibição do X em execução (ou seja, não apenas para o shell).Juntando as outras respostas, aqui está uma linha de comando que funcionará:
Isso tem a vantagem de funcionar com os drivers Mesa e NVidia e não requer nenhuma alteração nos arquivos de configuração.
fonte
Desativar a caixa de seleção Sync to VBlank em nvidia-settings (guia OpenGL Settings) resolve o problema para mim.
fonte
Eu encontrei uma solução que funciona na placa intel e na placa nvidia usando Bumblebee.
fonte
Para drivers Intel, também existe este método
fonte