Производительность видео

Обмен опытом по установке Линукс на разные аппаратные конфигурации

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Производительность видео

Непрочитанное сообщение Olej » 02 дек 2019, 20:37

Задали вопрос по производительности графики Xorg...
И обнаружилось, что у нас есть темы:
Производительность диска
Производительность процессора
Производительность RAM
... и есть множество разбросанных сообщений по темам с тестированием видео...
Но нет, в едином месте собрано, темы по тестированию (или управлению, улучшению) производительности видео.
Несправедливо! :lol:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Производительность видео

Непрочитанное сообщение Olej » 02 дек 2019, 20:40

Olej писал(а):
02 дек 2019, 20:37
Но нет, в едином месте собрано, темы по тестированию (или управлению, улучшению) производительности видео.
Но начинать нужно несомненно, в любом случае, с уточнения что там за железо и его поддержка стоит на видео...
Например, так:
1.

Код: Выделить всё

[olej@xenix ~]$ lspci -k | grep -EA 3 "VGA|3D|Display"
00:02.0 VGA compatible controller: Intel Corporation 4 Series Chipset Integrated Graphics Controller (rev 03)
	Subsystem: Micro-Star International Co., Ltd. [MSI] Device 7592
	Kernel driver in use: i915
	Kernel modules: i915

[olej@xenix ~]$ inxi -Gxx
Graphics:  Device-1: Intel 4 Series Integrated Graphics vendor: Micro-Star MSI driver: i915 v: kernel 
           bus ID: 00:02.0 chip ID: 8086:2e32 
           Display: x11 server: Fedora Project X.org 1.20.5 driver: modesetting unloaded: fbdev,vesa 
           resolution: 1920x1080~60Hz 
           OpenGL: renderer: Mesa DRI Intel G41 v: 2.1 Mesa 19.1.7 direct render: Yes 
2. Или так:

Код: Выделить всё

olej@ACER:~$ lspci -k -s 00:02.0
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
	Subsystem: Acer Incorporated [ALI] Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller
	Kernel driver in use: i915
	Kernel modules: i915

olej@ACER:~$ inxi -Gxx
Graphics:  Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics vendor: Acer Incorporated ALI 
           driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:0402 
           Display: x11 server: X.Org 1.20.4 driver: modesetting unloaded: fbdev,vesa resolution: 1920x1080~60Hz 
           OpenGL: renderer: Mesa DRI Intel Haswell Desktop v: 4.5 Mesa 18.3.6 compat-v: 3.0 direct render: Yes 
3. Или вот так:

Код: Выделить всё

olej@nvidia:~$ lspci -k | grep -EA 3 "VGA|3D|Display"
01:00.0 VGA compatible controller: NVIDIA Corporation GF119 [GeForce GT 520] (rev a1)
	Subsystem: ASUSTeK Computer Inc. ENGT520 SILENT
	Kernel driver in use: nvidia
	Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia

olej@nvidia:~$ inxi -Gxx
Graphics:  Device-1: NVIDIA GF119 [GeForce GT 520] vendor: ASUSTeK ENGT520 SILENT driver: nvidia v: 390.116 bus ID: 01:00.0 
           chip ID: 10de:1040 
           Display: server: X.Org 1.19.6 driver: nvidia unloaded: fbdev,modesetting,nouveau,vesa resolution: 1920x1080~60Hz 
           OpenGL: renderer: GeForce GT 520/PCIe/SSE2 v: 4.6.0 NVIDIA 390.116 direct render: Yes 
           
olej@nvidia:~$ lsmod | grep ^n
nvidia_uvm            761856  0
nvidia_drm             45056  1
nvidia_modeset       1048576  8 nvidia_drm
nvidia              14381056  308 nvidia_uvm,nvidia_modeset    

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Производительность видео

Непрочитанное сообщение Olej » 03 дек 2019, 12:14

Olej писал(а):
02 дек 2019, 20:37
Но нет, в едином месте собрано, темы по тестированию (или управлению, улучшению) производительности видео.
К производительности видеоподсистемы я ещё вернусь ... по крайней мере планирую.
Но!
В большинстве высказываемых-обсуждаемых претензий к скорости видео они относятся к работе конкретных программ ... VLC, ну а чаще всего - к браузерам и воспроизведению в них с использованием акселерации.
Вот интересное обсуждение по этому поводу: Увеличение производительности графики Intel в Ubuntu :
Я бы не был столь категоричен по поводу того, что у вас включено аппаратное ускорение. Очень часто его надо включать принудительно.
Итак
1) Открываем Firefox
2) Открываем вкладку about:support
3) Ищем Graphics, а если точнее интересует GPU Accelerated Windows и если там не 1/1 OpenGL (OMTC) (а оно у вас там 0/1 OpenGL (OMTC)) выполняем следующие пункты
4) Открываем еще одну вкладку about:config, на предупреждение соглашаемся
5) Ищем layers.acceleration.force-enabled и меняем на true (дважды кликаем)
6) Ищем layers.offmainthreadcomposition.enabled и смотрим значение. Ели не true, то опять же кликаем дважды
7) Перезапускаем браузер
8) Проверяем страничку about:support
9) Пробуем смотреть видео
Для браузеров Chrome/Chromium/Opera тоже надо подобный финт ушами
1) Проверка или включено аппаратное ускорение chrome://gpu
2) Настройки на страничке chrome://flags , а если еще точнее то сразу chrome://flags/#ignore-gpu-blacklist
3) Переключить (нажать Enable)
4) Перезапустить браузер

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Производительность видео

Непрочитанное сообщение Olej » 03 дек 2019, 13:06

Olej писал(а):
03 дек 2019, 12:14
Вот интересное обсуждение по этому поводу: Увеличение производительности графики Intel в Ubuntu :
Вот как это выглядит в Opera
Версия:65.0.3467.42
Вложения
o1.png
o2.png
o3.png

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Производительность видео

Непрочитанное сообщение Olej » 03 дек 2019, 13:47

Olej писал(а):
03 дек 2019, 12:14
К производительности видеоподсистемы я ещё вернусь ... по крайней мере планирую.
Один из самых старых инструментов - это mesa-utils
Mesa – реализация графического API OpenGL. Mesa ориентирована на обеспечение высокой производительности, в том числе за счёт использования аппаратного ускорения работы с графикой, поддерживаемого видеоадаптерами.
Mesa3D лежит в основе графической подсистемы операционных систем с открытым исходным кодом. Её обновление имеет большое значение для всех пользователей, не имеющих или не желающих использовать закрытые драйверы и библиотеки OpenGL от производителей оборудования.
В данный момент Mesa является одной из самых популярных реализаций OpenGL для Unix-подобных ОС, в том числе Ubuntu.
Меня интересует из пакета программа glxgears.
1. Но это годится только для тех конфигураций, где используется Mesa ... в моих примерах выше - это 1 и 2 (графика Intel);
2. Это не сколько тест на скорость, сколько контроль правильности установки адекватных драйверов для видео...
3. Эта же программа использовалась (мной) для ARM одноплатных конструкций, см. здесь в форуме Одноплатные компьютеры.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Производительность видео

Непрочитанное сообщение Olej » 03 дек 2019, 14:06

Olej писал(а):
03 дек 2019, 13:47
Меня интересует из пакета программа glxgears.
Вообще-то, результаты glxgears привязаны к вертикальной синхронизации, и выглядит это так:
g1.png
g1.png (9.7 КБ) 2218 просмотров

Код: Выделить всё

olej@ACER:~$ glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
313 frames in 5.0 seconds = 62.439 FPS
301 frames in 5.0 seconds = 59.999 FPS
301 frames in 5.0 seconds = 60.002 FPS
301 frames in 5.0 seconds = 60.002 FPS
301 frames in 5.0 seconds = 59.999 FPS
301 frames in 5.0 seconds = 60.002 FPS
301 frames in 5.0 seconds = 60.003 FPS
300 frames in 5.0 seconds = 59.996 FPS
301 frames in 5.0 seconds = 60.003 FPS
301 frames in 5.0 seconds = 60.001 FPS
300 frames in 5.0 seconds = 59.997 FPS
301 frames in 5.0 seconds = 60.004 FPS
301 frames in 5.0 seconds = 59.999 FPS
300 frames in 5.0 seconds = 59.999 FPS
Вы можете наслаждаться картинкой вращающихся шестерёнок - это тест установки Mesa + правильной установки.
Но для оценки производительности это, зачастую, мало информативно, потому что результаты FPS привязаны к частоте вертикальной развёртки монитора.
Но "зачастую" потому что, помимо этого результата:
1. всё таки в маломощных конфигурациях (одноплатные ARM или удалённая сессия выполнения X11) формирование фрейма может не укладываться в "свои" 60Гц, и тогда это - оценка скорости;
2. привязку к вертикальной частоте развёртки glxgears можно отключить - вот здесь достаточные заметки на этот счёт: Отключить вертикальную синхронизацию для glxgears;

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Производительность видео

Непрочитанное сообщение Olej » 03 дек 2019, 14:19

Olej писал(а):
03 дек 2019, 14:06
2. привязку к вертикальной частоте развёртки glxgears можно отключить - вот здесь достаточные заметки на этот счёт: Отключить вертикальную синхронизацию для glxgears;
Для Intel графики, Mesa, это даёт:

Код: Выделить всё

olej@ACER:~$ inxi -Gx
Graphics:  Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics vendor: Acer Incorporated ALI 
           driver: i915 v: kernel bus ID: 00:02.0 
           Display: x11 server: X.Org 1.20.4 driver: modesetting unloaded: fbdev,vesa resolution: 1920x1080~60Hz 
           OpenGL: renderer: Mesa DRI Intel Haswell Desktop v: 4.5 Mesa 18.3.6 direct render: Yes 

olej@ACER:~$ vblank_mode=0 glxgears
ATTENTION: default value of option vblank_mode overridden by environment.
30244 frames in 5.0 seconds = 6048.538 FPS
31685 frames in 5.0 seconds = 6336.865 FPS
31796 frames in 5.0 seconds = 6359.098 FPS
31849 frames in 5.0 seconds = 6369.615 FPS
Это в 100 раз выше 60Гц ... хотя шестерёнки на картинке вертятся визуально в том же темпе...
Или другой вариант:

Код: Выделить всё

[olej@xenix ~]$ inxi -Gx
Graphics:  Device-1: Intel 4 Series Integrated Graphics vendor: Micro-Star MSI driver: i915 v: kernel bus ID: 00:02.0 
           Display: x11 server: Fedora Project X.org 1.20.5 driver: modesetting unloaded: fbdev,vesa 
           resolution: 1920x1080~60Hz 
           OpenGL: renderer: Mesa DRI Intel G41 v: 2.1 Mesa 19.1.8 direct render: Yes 

[olej@xenix ~]$ vblank_mode=0 glxgears
ATTENTION: default value of option vblank_mode overridden by environment.
6980 frames in 5.0 seconds = 1395.937 FPS
7500 frames in 5.0 seconds = 1499.987 FPS
7525 frames in 5.0 seconds = 1504.987 FPS
7541 frames in 5.0 seconds = 1508.073 FPS

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Производительность видео

Непрочитанное сообщение Olej » 03 дек 2019, 14:41

Olej писал(а):
03 дек 2019, 14:19
Для Intel графики, Mesa, это даёт:
Но этот номер не проходит с NVIDIA !
Зато проходит следующий:

Код: Выделить всё

olej@nvidia:~$ inxi -Gx
Graphics:  Device-1: NVIDIA GF119 [GeForce GT 520] vendor: ASUSTeK ENGT520 SILENT driver: nvidia v: 390.116 
           bus ID: 01:00.0 
           Display: server: X.Org 1.19.6 driver: nvidia unloaded: fbdev,modesetting,nouveau,vesa 
           resolution: 1920x1080~60Hz 
           OpenGL: renderer: GeForce GT 520/PCIe/SSE2 v: 4.6.0 NVIDIA 390.116 direct render: Yes 

olej@nvidia:~$ __GL_SYNC_TO_VBLANK=1 glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
291 frames in 5.0 seconds = 58.186 FPS
296 frames in 5.0 seconds = 59.153 FPS
298 frames in 5.0 seconds = 59.551 FPS
299 frames in 5.0 seconds = 59.755 FPS

olej@nvidia:~$ __GL_SYNC_TO_VBLANK=0 glxgears
24063 frames in 5.0 seconds = 4812.595 FPS
25687 frames in 5.0 seconds = 5137.272 FPS
25198 frames in 5.0 seconds = 5039.458 FPS
24693 frames in 5.0 seconds = 4938.391 FPS
Сравните для __GL_SYNC_TO_VBLANK равного 0 и 1.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Производительность видео

Непрочитанное сообщение Olej » 03 дек 2019, 15:40

Olej писал(а):
03 дек 2019, 14:06
1. всё таки в маломощных конфигурациях (одноплатные ARM или удалённая сессия выполнения X11) формирование фрейма может не укладываться в "свои" 60Гц, и тогда это - оценка скорости;
Сравниваем...
Olej писал(а):
03 дек 2019, 14:41

Код: Выделить всё

olej@nvidia:~$ inxi -Gx
Graphics:  Device-1: NVIDIA GF119 [GeForce GT 520] vendor: ASUSTeK ENGT520 SILENT driver: nvidia v: 390.116 
           bus ID: 01:00.0 
           Display: server: X.Org 1.19.6 driver: nvidia unloaded: fbdev,modesetting,nouveau,vesa 
           resolution: 1920x1080~60Hz 
           OpenGL: renderer: GeForce GT 520/PCIe/SSE2 v: 4.6.0 NVIDIA 390.116 direct render: Yes 

olej@nvidia:~$ __GL_SYNC_TO_VBLANK=0 glxgears
24063 frames in 5.0 seconds = 4812.595 FPS
25687 frames in 5.0 seconds = 5137.272 FPS
25198 frames in 5.0 seconds = 5039.458 FPS
24693 frames in 5.0 seconds = 4938.391 FPS
А теперь тот же компьютер, но удалённое подключение по SSH с туннелированием графики на удалённый компьютер:

Код: Выделить всё

[olej@xenix 03]$ ssh -Y olej@192.168.1.11
olej@192.168.1.11's password: 
Last login: Tue Dec  3 13:46:43 2019 from 192.168.1.11

olej@nvidia:~$ inxi -Gx
Graphics:  Device-1: NVIDIA GF119 [GeForce GT 520] vendor: ASUSTeK ENGT520 SILENT driver: nvidia v: 390.116 bus ID: 01:00.0 
           Display: server: Fedora Project X.org 1.19.6 driver: nvidia unloaded: fbdev,modesetting,nouveau,vesa 
           resolution: 1920x1080~60Hz 
           OpenGL: renderer: llvmpipe (LLVM 8.0 128 bits) v: 3.3 Mesa 19.0.8 direct render: Yes 

olej@nvidia:~$ glxgears
114 frames in 5.0 seconds = 22.794 FPS
132 frames in 5.0 seconds = 26.264 FPS
132 frames in 5.0 seconds = 26.267 FPS
132 frames in 5.0 seconds = 26.281 FPS
132 frames in 5.0 seconds = 26.324 FPS

olej@nvidia:~$ __GL_SYNC_TO_VBLANK=0 glxgears
132 frames in 5.0 seconds = 26.253 FPS
131 frames in 5.0 seconds = 26.199 FPS
132 frames in 5.0 seconds = 26.239 FPS
132 frames in 5.0 seconds = 26.267 FPS
132 frames in 5.0 seconds = 26.258 FPS
P.S. Или просто вот так - не создавая отдельной сессии SSH:

Код: Выделить всё

[olej@xenix ~]$ ssh -Y olej@192.168.1.11 glxgears
olej@192.168.1.11's password: 
132 frames in 5.0 seconds = 26.227 FPS
132 frames in 5.0 seconds = 26.280 FPS
132 frames in 5.0 seconds = 26.262 FPS
132 frames in 5.0 seconds = 26.213 FPS
132 frames in 5.0 seconds = 26.219 FPS
Здесь даже нет 60Гц частоты вертикальной развёртки, а фреймы формируются через кадр, в 1/2 от частоты развёртки.
Вот вам и "скорость" удалённого подключения X11, которая упала в 200 раз!
Хотя, с другой стороны, такое выполнение можн производить за 1000 км. ;-)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Производительность видео

Непрочитанное сообщение Olej » 03 дек 2019, 20:39

Olej писал(а):
03 дек 2019, 13:47
Меня интересует из пакета программа glxgears.
Вопрос в том, чтобы измерить скоростные характеристики видеосистемы и сравнить с другими конфигурациями ... для того чтобы определиться что такое есть "хорошо" и что такое "плохо".

Но все эти программы, чаще всего используемые в обсуждениях ("народные") утилиты, типа того же glxgears, glmark2 и т.д. - это мусор ... годящийся (да и предназначенный на то) чтобы проверить правильно ли (не криво) установлен драйвер (и OpenGL, Mesa и все другие сопутствующие компоненты) + можно получить грубую оценку.
Но для того, чтобы измерить и сравнить скоростные характеристики с другими конфигурациями это не годится.

Ответить

Вернуться в «Железо для Linux»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей