Автор Тема: Тиринг - эффект разорванности  (Прочитано 10025 раз)

Оффлайн vita

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4788
  • Да будет свет!
Тиринг - эффект разорванности
« : 28 Августа 2015, 13:48:57 »
Тиринг (от англ. to tear рвать) - это явление, когда графическая система по какой-либо причине (например, нагруженность сцены объектами) не успевает прорисовать картинку и новый кадр накладывается на старый прежде, чем тот исчезает с экрана. Появляется едва заметная горизонтальная линия, эффект разорванности.
Статья о визуальном артефакте при просмотре видео.
Тема создана по причине наличия данного артефакта
Если у Вас в системе включен Compiz, то тиринг Вы навряд-ли когда-нибудь увидите, потому что в Compiz вертикальная синхронизация включена по умолчанию. Разрабы систем очень часто отключают её для повышения производительности графического стека. Так что зло это только для глаз и нервной системы пользователя, для Х-сёрвера - благо. В KDE, например предусмотрено включение-выключение вертикальной синхронизации в настройках KWin. В крыске тоже такая настройка есть, только работает пока плохо. А вот с Marco приходится помудрить немного. Но это надеюсь, пока. Будет праздник и на его улице. Кстати, на некоторых форумах многие считают тиринг мифом. А причина по-видимости, кроется в особенности человеческого внимания видеть главное, не отвлекаясь на частности. То есть, увлёкся сюжетом фильма - и уже как бы не видишь этих подёргиваний изображеня или проскакиваний горизонтальных полосок то в одном, то в другом месте экрана. Я сам, признаюсь честно, обратил на него внимание только тогда, когда просмотрел один и тот же фильм сначала в Windows 7, потом в Xubuntu. В винде всё плавненько а в линуксе - дёргается! :( :o
для накопления опыта по преодолению тиринга.
Много рассуждений и советов по этой теме представлено на форуме Linux.org.
Делай с нами, делай как мы, делай лучше нас!

Оффлайн ivm

  • Ветеран
  • *****
  • Сообщений: 3072
  • Что бы ни случилось, всё будет хорошо!
Re: Тиринг - эффект разорванности
« Ответ #1 : 28 Августа 2015, 13:53:59 »
Поигравшись с тиринг-тестом, вижу интересное дело. Сие явление не зависит от системы, а от правильной подборки проприетарного видеодрайвера.
По крайней мере, с nvidia GT730 на проприетарном 331 драйвере с дефолтными настройками независимо от WM тиринг отсутствует, а в 340 - тоже проприетарном - имеет место быть.
Настройками драйвера его можно свести к минимуму.
На ноутбуке с интелом компиз - панацея.

Оффлайн vita

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4788
  • Да будет свет!
Re: Тиринг - эффект разорванности
« Ответ #2 : 28 Августа 2015, 13:55:36 »
В обсуждении темы What is the difference between the built in compositor with Marco and Compton? Мартин Ваймпресс ответил:
Цитата: Перевод Google
Марко программное обеспечение композитор. Комптон можете сделать программное или аппаратное композитинга. Я расследование в том числе Комптон, никаких обещаний. Но Compiz включен, а также будет решать разрыв экраном и одной из главных причин, почему я включил его  ;D
Однако в ходе выполнения теста в графике ATI Radeon (Advanced Micro Devices [AMD/ATI] Kabini [Radeon HD 8330]) с установленным проприетарным драйвером 15.20 тиринг наблюдается и при работающем Compiz  :(

Тиринг в виде подёргивания полос в тесте в приведённом выше примере совсем не заметен при просмотре видео и перемещении окон в оконном менеджере Marco с включённым и выключенным композитным режимом управления окнами. Поэтому никаких действий по его устранению думаю не стОит предпринимать.
Делай с нами, делай как мы, делай лучше нас!

Оффлайн ivm

  • Ветеран
  • *****
  • Сообщений: 3072
  • Что бы ни случилось, всё будет хорошо!
Re: Тиринг - эффект разорванности
« Ответ #3 : 28 Августа 2015, 13:56:57 »
Не могу избавиться от мысли, как это так: и видео FullHD я смотрю на машине, и видеомонтажом занимаюсь, т.е. контроль качества полученного видео - важный этап, и никогда не видел тиринга. А вот на тесте заметил. То ли я слепой, то ли тест предвзятый или искусственно смоделированная ситуация. Есть ли другие варианты для тестирования тиринга?

Оффлайн vita

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4788
  • Да будет свет!
Re: Тиринг - эффект разорванности
« Ответ #4 : 28 Августа 2015, 13:58:33 »
Для карт NVIDIA не в связке с Intel в сети был такой совет по преодолению тиринга в Ubuntu 14.04. После установки проприетарного драйвера в nvidia-settings с правами sudo создать файл /etc/X11/xorg.conf и в нём вставить секцию
Цитировать
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 650"
Option "RegistryDwords" "PerfLevelSrc=0x2222"
Option "TripleBuffer" "True"
EndSection
Это устанавливает карту в режим производительности и позволяет тройную буферизацию.

В nvidia-settings/OpenGL должны быть следующие настройки:

Синхронизация с Vblank
Разрешение Flipping
Использование совместимых Texture Clamping

Сохраните конфигурацию и перезагрузите X-сервер.
Делай с нами, делай как мы, делай лучше нас!

Оффлайн vita

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4788
  • Да будет свет!
Re: Тиринг - эффект разорванности
« Ответ #5 : 28 Августа 2015, 14:03:19 »
Опыт нашего товарища Mobilis-in-mobile
Цитировать
Несколько дней назад решил выяснить, а нельзя ли устранить тиринг, не прибегая к помощи внешних композитных менеджеров?
Погуглив немного, нашёл на русскоязычном форуме Xubuntu такую инструкцию и применил её в Matuntu

Но перед этим, в целях подстраховки, определил BusID своей видеокарты, для чего набрал в терминале команду

lspci | egrep 'VGA|3D'
Терминал выдал вот такой ответ:

00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
01:00.0 3D controller: NVIDIA Corporation GF117M [GeForce 610M/710M/820M / GT 620M/625M/630M/720M] (rev ff)

У моего ноутбука гибридная графика, и видеокарта Intel определяется под номером 00:02.0(он нужен, для того, чтобы корректно прописать BusID в файл xorg.conf). На других ноутбуках, естественно, он может быть другим.

Для создания файла xorg.conf выполнил команду

sudo touch /etc/X11/xorg.conf
Чтобы открыть его в Pluma для редактирования выполнил

sudo pluma /etc/X11/xorg.conf
А затем вставил внего вот эти строчки:

Section "Device"
   Identifier  "Device0"
   Driver      "intel"
   BusID       "PCI:0:2:0"
   Option      "AccelMethod" "sna"
   Option      "DRI"    "true"
        Option      "TearFree"    "true"
EndSection
Из содержимого файла видно, что включает он опцию "TearFree", используя драйвер Intel. То есть этот способ пригоден для ноутбуков с Intel-графикой и гибридной Intel+Nvidia.
Корректировать, к моей радости, ничего не понадобилось, так как BusID, указанный в инструкции совпал с выданным мне терминалом номером.
Сохранил файл, закрыл Pluma.
Перезагрузился, включил полноэкранное видео и... никакого тиринга! :D
 Да и Marco теперь работает плавнее. До этого при при перетаскивании открытых окон по рабочему столу была заметна перерисовка("отставание" нижней половины окна от верхней на несколько миллиметров). Сейчас всё отображается нормально.

Проверял этот способ на свободном драйвере. 
Цитировать
Там ещё пишут о неэффективности в этом случае композитных менеджеров как встроенных, так и внешних. А копать оказывется, надо глубже, в настройки самого драйвера и Х-сервера. И опять же, если в компьютере одна-единственная Nvidia-карта. С гибридкой естественно, такой фокус не пройдёт!
Делай с нами, делай как мы, делай лучше нас!

Оффлайн ivm

  • Ветеран
  • *****
  • Сообщений: 3072
  • Что бы ни случилось, всё будет хорошо!
Re: Тиринг - эффект разорванности
« Ответ #6 : 28 Августа 2015, 14:05:16 »
Для интегрированных карт от Intel HD есть ещё такой способ преодоления тиринга:
Создайте /usr/share/X11/xorg.conf.d/20-intel.conf
sudo touch /usr/share/X11/xorg.conf.d/20-intel.confОткройте его редактирование
sudo -e /usr/share/X11/xorg.conf.d/20-intel.confВ открывшемся документе вставьте текстовый блок
Section "Device"
        Identifier  "card0"
        Driver      "intel"
        Option      "TearFree"  "True"
        BusID       "PCI:0:2:0"
EndSection
После перезагрузки тиринг должен исчезнуть.

К счастью, в Xorg 1.17.1 проблема тиринга отсутствует при использовании свободных драйверов.

Оффлайн vita

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4788
  • Да будет свет!
Re: Тиринг - эффект разорванности
« Ответ #7 : 29 Января 2016, 01:15:53 »
С обновлениями Mate 1.12.1 в системе установился Compton и появилась возможность при помощи утилиты Mate Tweak включить на лету в WM Marco применение Compton. Проверка видео специальным тестом показала, что установка Compton на некотором оборудовании вполне оправдана, например, на нетбуке с графикой Intel
inxi -G
Graphics:  Card: Intel Device 22b1
           Display Server: X.Org 1.17.3 drivers: intel (unloaded: fbdev,vesa) Resolution: 1366x768@60.06hz
           GLX Renderer: Mesa DRI Intel HD Graphics (Cherryview) GLX Version: 3.0 Mesa 11.1.1

Полностью тиринг в тесте не исчез, но значительно меньше, чем при включённом композитинге Marco.
Делай с нами, делай как мы, делай лучше нас!