Если сложить весь мой опыт то он будет таким:
Как мне помнится включение софтварного рендеринга LIBGL_ALWAYS_SOFTWARE приводило к очень огромному ухудшению латенси, хотя вроде весь рендеринг ложился на процессор и вообще не должен был мешать реалтайму.
Точно не помню, но по моему я там делал какие то настройки переводившие Х сервер на стандартные драйвера, правда какие именно не помню, возможно vesаfb, но вроде я пробовал разные.
Но так или иначе это был провал.
Другие люди пишут, да и сам я наблюдал что использоаание интегрированного видео приводит к очень низким латенси и это при том, что по идее интегрированное видео использует обычное ОЗУ что должно мешать работе ОС и приводить к росту латенси.
Это вроде бы опровергает мою версию о влияний на латенси скорости работы видеокарты, но на самом деле подтверждает если посмотреть на блоксхемах как подключена видеокарта
По одной блоксхеме видеоядро это часть контролёра ОЗУ, по другой оно сидит за L2 кешем на одной шине с ядрами.
Это очень быстрое подключение к процессору, причём происходящее мимо шины PCI и видимо связанных с ней контролёров, наверное в том числе и контролёра прерываний.
В принципе я получал на более старых ядрах Linux и 128 битном Geforce 250 хороший латенси, но более поздних ядрах этот результат портился, это подталкивало меня к мысли что дело в коде ядра, но я это игнорировал, так как идея подобрать видеокарту была более простой.
С другой стороны если учесть как идёт разработка видеокарт то логично ожидать то, что более старый и более дешёвый Geforce 250 получит портящие реалтайм улучшения посже чем более дорогой и более поздний Geforce 760.
Теперь UAVPilot выдвигает версию
UAVpilot писал(а):Всякие "серьёзные" видекарты любят сами захватывать шину для общения с памятью, поэтому они как правило только ухудшают ситуацию.
Если сложить всё в месте то можно предположить что самозахват шины видеокартами происходит только при наличии в их драйвере определённого кода.
![Лампа миг :lamp_flash:](./images/smilies/icon_lamp_flash.gif)
Нельзя ли найти в видеодрайвере код задействующий портящий реалтайм аппаратный функционал и попросту его убрать, оставив всё остальное.
Возможно тоже самое проделать и с драйверами других устройств, таких как дисковый контролёр, сетевые карты, контролёр шины USB?