Иногда вам нужно проверить, действительно ли работает 3D-ускорение в Linux (помимо glxinfo
вывода). Это можно быстро сделать с помощью glxgears
инструмента. Однако частота кадров в секунду часто ограничивается частотой вертикального обновления дисплея (например, 60 кадров в секунду). Таким образом, инструмент становится более или менее бесполезным, поскольку даже программный рендеринг может легко воспроизводить glxgears со скоростью 60 кадров в секунду на современных процессорах.
Мне было довольно сложно найти быстрое и легкое решение для этого, я отвечаю на свой вопрос. Надеюсь, это сэкономит ваше время.
vblank_mode=0
Теперь я получаю 1375,257 FPS на старом видеодрайвере Intel i965 под управлением OpenBSD 5.6.Если вы используете драйверы NVIDIA с закрытым исходным кодом, вы можете изменять режим вертикальной синхронизации на лету с помощью
__GL_SYNC_TO_VBLANK
переменной окружения :У меня это работает на Ubuntu 14.04 с использованием драйверов NVIDIA 346.46.
источник
Для графики Intel и графических драйверов AMD / ATI с открытым исходным кодом
Найдите раздел «Устройство», в
/etc/X11/xorg.conf
котором есть одна из следующих директив:Driver "intel"
Driver "radeon"
Driver "fglrx"
И добавьте в этот раздел следующую строку:
И запустите приложение с
vblank_mode
переменной среды, установленной на0
:Для графики Nvidia с проприетарным драйвером Nvidia
То же изменение можно сделать в
nvidia-settings
графическом интерфейсе, сняв флажок сX Screen 0 / OpenGL Settings / Sync to VBlank
. Или, если вы хотите просто проверить настройку, не изменяя~/.nvidia-settings-rc
файл, вы можете сделать что-то вроде:источник
nvidia-settings --load-config-only --assign="SyncToVBlank=0"
чтобы просто изменить настройки дисплея X (и не изменять файл конфигурации или запускать графический интерфейс). После запускаglxgears
вы можете запустить,nvidia-settings --load-config-only
чтобы восстановить настройки конфигурации - что вы, вероятно, захотите сделать, поскольку это постоянная настройка для работающего дисплея X (то есть не только для оболочки).Собрав все остальные ответы вместе, вот командная строка, которая будет работать:
Это дает преимущества работы как с драйверами Mesa, так и с драйверами NVidia и не требует каких-либо изменений в файлах конфигурации.
источник
Отключение флажка «Синхронизировать с VBlank» в настройках nvidia (вкладка «Настройки OpenGL») помогает мне.
источник
Я нашел решение, которое работает в карте Intel и карте NVIDIA с использованием Bumblebee.
источник
Для драйверов Intel тоже есть такой способ
источник