Производительность видео (объединение и продолжение)

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

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

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

Производительность видео (объединение и продолжение)

Непрочитанное сообщение Olej » 28 сен 2021, 11:31

Уже набралось целых 2 темы с одинаковыми названиями "Производительность видео": вот Производительность видео и вот Производительность видео, происходит это по нескольким причинам:
- актуальность темы - это вопрос более "размытый" чем производительность, скажем, процессора или дисковой подсистемы...
- неоднозначность и неопределённость - публикации дают очень неясную и смазанную картину, каждый пишет что хочет...
- 2 темы по некоторому недосмотру...

Сливать эти обсуждения нет смысла - они перекрываются по времени, и обсуждают вопрос с разных сторон.
И продолжать какую-то выбранную из них нет смысла - и там и там есть актуальные вещи... и, кроме того, они уже достаточно сильно растянуты как по времени так и по объёму.

Поэтому продолжаю изучение вопроса в этой новой теме, учитывая наработки в 2-х предыдущих.

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

Re: Производительность видео (объединение и продолжение)

Непрочитанное сообщение Olej » 28 сен 2021, 12:10

Olej писал(а):
28 сен 2021, 11:31
Поэтому продолжаю изучение вопроса в этой новой теме, учитывая наработки в 2-х предыдущих.
Тут вообще возникают вопросы:

1. что такое вообще понимать как "производительность" видео-подсистемы? (потому как оно будет радикально меняться от характера задач) ... наверное, интуитивно, меру использования какого-то аппаратного воспроизведения, OpenGL и т.д.

2. каким инструментом можно её оценивать? (именно оценивать, по порядку величины, а не значению - ввиду большой неопределённости ... а кроме того чтобы это было быстро и не трудозатратно)

3. в какой аппаратной конфигурации можно корректно производить такую оценку?
а). должен ли быть подключен монитор при проверке, или можно делать "в тёмную"?
б). как быть с 2-мя видеокартами (когда, часто, монитор подключен только к одной - нужно ли его "перекидывать")?
в). как быть когда несколько компьютеров подключены через коммутатор видео-клавиатура KVM (см. KVM коммутаторы и коммутаторы D-Link DKVM)? и должен ли во время тестирования компьютер обязательно закоммутирован на монитор?
г). можно ли оценивать (насколько искажаются результаты) удалённо, путём туннелирования видеопотока через SSH (с запуском: ssh -X ... или ssh -Y ...)?

Это всё особенно актуально для малых одноплатных ARM девайсов (см. Одноплатные компьютеры): Rapspberry Pi , Orange Pi , DragonBoard 410c ... и мн. др.

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

Re: Производительность видео (объединение и продолжение)

Непрочитанное сообщение Olej » 28 сен 2021, 13:11

Olej писал(а):
28 сен 2021, 12:10
г). можно ли оценивать (насколько искажаются результаты) удалённо, путём туннелирования видеопотока через SSH (с запуском: ssh -X ... или ssh -Y ...)?
На этот, последний, вопрос проще всего ответить через локальное сетевое подключение ...
Использую для этого сервер с простой видео картой Matrox G200 без всяких 2D/3D фокусов:

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

olej@R420:~$ inxi -GCxxx
CPU:       Topology: 2x 10-Core model: Intel Xeon E5-2470 v2 bits: 64 type: MT MCP SMP arch: Ivy Bridge rev: 4 
           L2 cache: 50.0 MiB 
           flags: avx lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 192048 
           Speed: 1264 MHz min/max: 1200/3200 MHz Core speeds (MHz): 1: 1283 2: 1532 3: 1351 4: 1460 5: 1264 6: 2153 7: 1285 
           8: 2138 9: 1344 10: 1448 11: 1324 12: 2139 13: 1488 14: 1549 15: 2095 16: 1416 17: 3100 18: 1507 19: 1710 20: 1859 
           21: 2617 22: 1459 23: 1367 24: 1939 25: 1521 26: 2752 27: 1535 28: 2777 29: 1323 30: 2533 31: 1868 32: 2742 
           33: 1744 34: 2806 35: 1326 36: 1782 37: 1485 38: 1766 39: 1474 40: 1416 
Graphics:  Device-1: Matrox Systems G200eR2 vendor: Dell driver: mgag200 v: kernel bus ID: 06:00.0 chip ID: 102b:0534 
           Display: x11 server: X.Org 1.20.11 driver: modesetting unloaded: fbdev,vesa alternate: mga 
           resolution: 1920x1080_60.00~60Hz 
           OpenGL: renderer: llvmpipe (LLVM 12.0.0 256 bits) v: 4.5 Mesa 21.0.3 compat-v: 3.1 direct render: Yes 

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

olej@R420:~$ lspci -k | grep -EA 3 "VGA|3D|Display"
06:00.0 VGA compatible controller: Matrox Electronics Systems Ltd. G200eR2
	DeviceName: Embedded Video                          
	Subsystem: Dell G200eR2
	Kernel driver in use: mgag200
Использую простейший и старый тестер glxgears ... хорошо известный, вот с теми вращающимися колёсами:
Снимок экрана от 2021-09-28 13-04-03.png
Снимок экрана от 2021-09-28 13-04-03.png (10.95 КБ) 1615 просмотров
Выполнение на локальный монитор (естественным образом):

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

olej@R420:~$ glxgears
4353 frames in 5.0 seconds = 870.495 FPS
4404 frames in 5.0 seconds = 880.620 FPS
4436 frames in 5.0 seconds = 887.135 FPS
4363 frames in 5.0 seconds = 872.360 FPS
^C
Подключение SSH (сам к себе), традиционным способом:

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

olej@R420:~$ ssh -X olej@R420
olej@r420's password: 
Last login: Tue Sep 28 12:46:36 2021 from 127.0.0.1

olej@R420:~$ glxgears
1541 frames in 5.0 seconds = 308.108 FPS
1588 frames in 5.0 seconds = 317.487 FPS
1582 frames in 5.0 seconds = 316.236 FPS
1501 frames in 5.0 seconds = 300.049 FPS
1559 frames in 5.0 seconds = 311.795 FPS
1595 frames in 5.0 seconds = 318.895 FPS
1592 frames in 5.0 seconds = 318.255 FPS
X connection to localhost:11.0 broken (explicit kill or server shutdown).
:-o - число фреймов в секунду упало в 2.8.раза.
Подключение SSH (сам к себе), но без шифрования потока:

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

olej@R420:~$ ssh -Y olej@R420
olej@r420's password: 
Last login: Mon Sep 27 16:36:00 2021 from 192.168.1.18

olej@R420:~$ glxgears
1524 frames in 5.0 seconds = 304.625 FPS
1589 frames in 5.0 seconds = 317.799 FPS
1518 frames in 5.0 seconds = 303.576 FPS
1516 frames in 5.0 seconds = 303.157 FPS
1547 frames in 5.0 seconds = 309.310 FPS
1617 frames in 5.0 seconds = 323.242 FPS
1618 frames in 5.0 seconds = 323.476 FPS
1575 frames in 5.0 seconds = 314.889 FPS
X connection to localhost:10.0 broken (explicit kill or server shutdown).
Если тут скорость и выше, то на малозначащие 3-5% ... т.е. проблема не в шифровании, а в передаче потока через сетевой стек.
Так что любое удалённое тестирование отпадает! ... независимо от используемого сетевого протокола.

P.S. Остальные вопросы относительно методик - оставлю на потом, по ходу разрешения...

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

Re: Производительность видео (объединение и продолжение)

Непрочитанное сообщение Olej » 28 сен 2021, 14:58

Olej писал(а):
28 сен 2021, 13:11
Использую для этого сервер с простой видео картой Matrox G200 без всяких 2D/3D фокусов:
Теперь дальше ноутбук DELL Latitude E6510:
Изображение
С довольно странной такой ноутбучной видео картой NVIDIA (с какой-то странной неполной поддержкой API OpenGL ... предполагаю):

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

olej@E6510:~$ lspci -k | grep -EA 3 "VGA|3D|Display"
01:00.0 VGA compatible controller: NVIDIA Corporation GT218M [NVS 3100M] (rev a2)
	Subsystem: Dell Latitude E6510
	Kernel driver in use: nvidia
	Kernel modules: nvidiafb, nouveau, nvidia

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

olej@E6510:~$ inxi -GCxxx
CPU:       Topology: Quad Core model: Intel Core i7 Q 720 bits: 64 type: MT MCP arch: Nehalem rev: 5 L2 cache: 6144 KiB 
           flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 25536 
           Speed: 931 MHz min/max: 933/1600 MHz boost: enabled Core speeds (MHz): 1: 931 2: 931 3: 931 4: 931 5: 931 6: 931 
           7: 931 8: 931 
Graphics:  Device-1: NVIDIA GT218M [NVS 3100M] vendor: Dell Latitude E6510 driver: nvidia v: 340.108 bus ID: 01:00.0 
           chip ID: 10de:0a6c 
           Display: x11 server: X.Org 1.20.11 driver: nvidia unloaded: fbdev,modesetting,nouveau,vesa 
           resolution: 1600x900~60Hz 
           OpenGL: renderer: NVS 3100M/PCIe/SSE2 v: 3.3.0 NVIDIA 340.108 direct render: Yes 
Вложения
Снимок экрана от 2021-09-28 14-55-54.png
Снимок экрана от 2021-09-28 14-55-54.png (125.62 КБ) 1611 просмотров
Снимок экрана от 2021-09-28 14-57-13.png
Снимок экрана от 2021-09-28 14-57-13.png (211.61 КБ) 1611 просмотров

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

Re: Производительность видео (объединение и продолжение)

Непрочитанное сообщение Olej » 28 сен 2021, 15:15

Olej писал(а):
28 сен 2021, 14:58
Теперь дальше ноутбук DELL Latitude E6510:
Это с привязкой к вертикальной синхронизации (60 герц):

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

olej@E6510:~$ glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
303 frames in 5.0 seconds = 60.438 FPS
300 frames in 5.0 seconds = 59.996 FPS
300 frames in 5.0 seconds = 59.996 FPS
300 frames in 5.0 seconds = 59.996 FPS
298 frames in 5.0 seconds = 59.591 FPS
^C
А это - без привязки к вертикальной синхронизации, для NVIDIA это можно сделать так:

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

olej@E6510:~$ __GL_SYNC_TO_VBLANK=0 glxgears
14360 frames in 5.0 seconds = 2871.812 FPS
14261 frames in 5.0 seconds = 2852.003 FPS
14181 frames in 5.0 seconds = 2836.156 FPS
14154 frames in 5.0 seconds = 2830.500 FPS
14262 frames in 5.0 seconds = 2852.337 FPS
14132 frames in 5.0 seconds = 2826.214 FPS
14138 frames in 5.0 seconds = 2827.463 FPS
^C

Это в 3,24 раза лучше, чем выше для Matrox G200.

P.S. Я предполагаю, что Matrox G200, показано выше, не умеет привязываться к вертикальной синхронизации? ... или это делается для него каким-то особым образом, как для NVIDIA?

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

Re: Производительность видео (объединение и продолжение)

Непрочитанное сообщение Olej » 28 сен 2021, 16:21

Olej писал(а):
28 сен 2021, 14:58
Теперь дальше ноутбук DELL Latitude E6510:
Достал специально с полки старенький 10-летний (>10? ... тогда это был "бизнес класс" :lol: ) ноутбук HP Compaq nc6320 :
Изображение

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

-bash-4.3$ inxi -Mxxx
Machine:   Device: laptop System: Hewlett-Packard product: HP Compaq nc6320 (ES527EA#ACB) v: F.0E
           Mobo: Hewlett-Packard model: 30AA v: KBC Version 58.13
           BIOS: Hewlett-Packard v: 68YDU Ver. F.0E date: 02/21/2008
           Chassis: type: 10
Battery    C1BC: charge: 0.0 Wh 0.0% condition: 35.1/35.1 Wh (100%) volts: 9.3/10.8
           model: Hewlett-Packard Primary Li-ion serial: 01688 2015/01/21 status: Charging cycles: 0

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

-bash-4.3$ inxi -Sxxx
System:    Host: hp.localdomain Kernel: 4.11.12-100.fc24.i686 i686 (32 bit gcc: 6.3.1) Console: tty 2 dm: lightdm
           Distro: Fedora release 24 (Twenty Four)
С 32-битной системой:

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

-bash-4.3$ lsb_release -a
LSB Version:	:core-4.1-ia32:core-4.1-noarch
Distributor ID:	Fedora
Description:	Fedora release 24 (Twenty Four)
Release:	24
Codename:	TwentyFour

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

-bash-4.3$ uname -a
Linux hp.localdomain 4.11.12-100.fc24.i686 #1 SMP Fri Jul 21 18:09:54 UTC 2017 i686 i686 i386 GNU/Linux
И такой вот графикой:

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

-bash-4.3$ inxi -GCxxx
CPU:       Dual core Intel T2300 (-MCP-) cache: 2048 KB flags: (nx pae sse sse2 sse3 vmx) bmips: 6650 
           clock speeds: min/max: 1000/1667 MHz 1: 1667 MHz 2: 1667 MHz
Graphics:  Card: Intel Mobile 945GM/GMS 943/940GML Express Integrated Graphics Controller
           bus-ID: 00:02.0 chip-ID: 8086:27a2
           Display Server: N/A drivers: intel (unloaded: modesetting,fbdev,vesa)
           tty size: 167x49 Advanced Data: N/A out of X

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

-bash-4.3$ lspci -k | grep -EA 3 "VGA|3D|Display"
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
	Subsystem: Hewlett-Packard Company Device 30aa
	Kernel driver in use: i915
	Kernel modules: i915
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
	Subsystem: Hewlett-Packard Company Device 30aa
00:1b.0 Audio device: Intel Corporation NM10/ICH7 Family High Definition Audio Controller (rev 01)
	Subsystem: Hewlett-Packard Company Device 30aa

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

Re: Производительность видео (объединение и продолжение)

Непрочитанное сообщение Olej » 28 сен 2021, 16:46

Olej писал(а):
28 сен 2021, 16:21
Достал специально с полки старенький 10-летний (>10? ... тогда это был "бизнес класс" ) ноутбук HP Compaq nc6320
Olej писал(а):
28 сен 2021, 15:15
это - без привязки к вертикальной синхронизации

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

[olga@hp ~]$ vblank_mode=0 glxgears
ATTENTION: default value of option vblank_mode overridden by environment.
4310 frames in 5.0 seconds = 861.873 FPS
4320 frames in 5.0 seconds = 863.865 FPS
4305 frames in 5.0 seconds = 860.852 FPS
4307 frames in 5.0 seconds = 861.204 FPS
4283 frames in 5.0 seconds = 856.415 FPS
XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
      after 49940 requests (49940 known processed) with 0 events remaining.
И опять же - тот параметр, который отвязывает фреймы от вертикальной синхронизации, для NVIDIA __GL_SYNC_TO_VBLANK=0 - не работает для Intel vblank_mode=0 ... и наоборот:

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

[olga@hp ~]$ __GL_SYNC_TO_VBLANK=0 glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
334 frames in 5.0 seconds = 66.662 FPS
314 frames in 5.0 seconds = 62.640 FPS
313 frames in 5.0 seconds = 62.568 FPS
314 frames in 5.0 seconds = 62.698 FPS
XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
      after 4046 requests (4046 known processed) with 0 events remaining.
Сравним с дефаултным поведением (с привязкой к частоте вертикальной синхронизации):

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

[olga@hp ~]$ glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
323 frames in 5.0 seconds = 64.591 FPS
314 frames in 5.0 seconds = 62.620 FPS
313 frames in 5.0 seconds = 62.541 FPS
314 frames in 5.0 seconds = 62.765 FPS
^C

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

[olga@hp ~]$ vblank_mode=2 glxgears
ATTENTION: default value of option vblank_mode overridden by environment.
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
335 frames in 5.0 seconds = 66.870 FPS
314 frames in 5.0 seconds = 62.684 FPS
314 frames in 5.0 seconds = 62.633 FPS
^C

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

Re: Производительность видео (объединение и продолжение)

Непрочитанное сообщение Olej » 28 сен 2021, 18:58

Olej писал(а):
28 сен 2021, 16:21
ноутбук HP Compaq nc6320
Теперь к стационарам, по очереди:

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

[olej@xenix Messengers]$ lsb_release -a
LSB Version:	:core-4.1-amd64:core-4.1-noarch
Distributor ID:	Fedora
Description:	Fedora release 34 (Thirty Four)
Release:	34
Codename:	ThirtyFour

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

 
[olej@xenix Messengers]$ inxi -GCxxx
CPU:       Info: Quad Core model: Intel Xeon E5462 bits: 64 type: MCP arch: Penryn rev: 6 cache: L2: 6 MiB 
           flags: lm nx pae sse sse2 sse3 sse4_1 ssse3 vmx bogomips: 18665 
           Speed: 2000 MHz min/max: 2403/2803 MHz Core speeds (MHz): 1: 2000 2: 2000 3: 2003 4: 2000 
Graphics:  Device-1: NVIDIA GF119 [GeForce GT 520] vendor: ASUSTeK ENGT520 SILENT driver: nvidia v: 390.143 bus-ID: 01:00.0 
           chip-ID: 10de:1040 class-ID: 0300 
           Display: x11 server: X.Org 1.20.11 driver: loaded: nvidia unloaded: fbdev,modesetting,nouveau,vesa alternate: nv 
           resolution: 1600x1200~60Hz s-dpi: 96 
           OpenGL: renderer: N/A v: N/A direct render: N/A 

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

[olej@xenix Messengers]$ 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: nouveau, nvidia_drm, nvidia
Вложения
Снимок экрана от 2021-09-28 18-58-17.png
Снимок экрана от 2021-09-28 18-58-17.png (203.42 КБ) 1596 просмотров

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

Re: Производительность видео (объединение и продолжение)

Непрочитанное сообщение Olej » 28 сен 2021, 19:04

И тут начинаются чудеса :evil: :

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

... хоть так:
[olej@xenix ~]$ glxgears
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  31
  Current serial number in output stream:  32
... хоть так:

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

[olej@xenix ~]$ __GL_SYNC_TO_VBLANK=0 glxgears
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  31
  Current serial number in output stream:  32
Оставим это для более поздней разборки...

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

Re: Производительность видео (объединение и продолжение)

Непрочитанное сообщение Olej » 28 сен 2021, 19:08

Olej писал(а):
28 сен 2021, 18:58
Теперь к стационарам, по очереди:
Следующий :lol:

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

olej@nvidia:~$ inxi -GCxxx
CPU:       Topology: Dual Core model: Intel Core i5 660 bits: 64 type: MT MCP arch: Nehalem rev: 5 
           L2 cache: 4096 KiB 
           flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 26600 
           Speed: 1468 MHz min/max: N/A Core speeds (MHz): 1: 1468 2: 1235 3: 1390 4: 1850 
Graphics:  Device-1: Intel Core Processor Integrated Graphics driver: i915 v: kernel bus ID: 00:02.0 
           chip ID: 8086:0042 
           Display: x11 server: X.Org 1.20.11 driver: modesetting unloaded: fbdev,vesa alternate: nvidia 
           resolution: 1920x1080~60Hz, 1920x1080~60Hz 
           OpenGL: renderer: Mesa DRI Intel HD Graphics (ILK) v: 2.1 Mesa 21.0.3 direct render: Yes 

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

olej@nvidia:~$ lspci -k | grep -EA 3 "VGA|3D|Display"
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 02)
	DeviceName:  Intel(R) HD Graphics Device
	Subsystem: Intel Corporation Core Processor Integrated Graphics Controller
	Kernel driver in use: i915

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

olej@nvidia:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Linuxmint
Description:	Linux Mint 20.2
Release:	20.2
Codename:	uma

Ответить

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

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

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