Идеальное воспроизведение
Медленное плавное движение выдаёт каждую запинку. Частоты проекта, монитора и контента, V-Sync, эксклюзив на Windows, Direct Display Out и выходы без монитора.
Случайный пропуск многим проектам не страшен, но медленное плавное движение выдаёт каждую запинку. Ровно получается, когда сходятся три вещи. TouchDesigner успевает кадр на каждое обновление устройства и идёт на его частоте: монитор 60 Гц — ровные 60, SDI 29,97 — проект на 29,97. Кадр показывается целиком — для монитора это V-Sync, у SDI такой проблемы нет. И система показывает каждый кадр, ничего не выбрасывая, — на Windows это эксклюзивный доступ к видеокарте. Опыт Derivative — в основном Windows, шоу на macOS у них мало.
Мониторы
Частота проекта равна частоте монитора, все мониторы на одной частоте —
обе вещи проверяет Monitors DAT. Видео снято на частоте монитора или на
делящей её нацело. Выходы сведены в один монитор (Mosaic, Surround,
Eyefinity) и при нужде разрезаны разветвителем — Несколько экранов.
Масштаб стола 100 %, V-Sync Mode включён (он и так по умолчанию),
режим Perform, без Borders, открыто одно перформ-окно, и у него
эксклюзив. Либо Direct Display Out TOP: мимо стола, и проблем с диспетчером окон
просто нет.
Windows округляет частоту: монитор на 59,94, в настройках 60. Проект на 60 тогда регулярно теряет кадр, и на движении это видят все. Точную частоту пишет Monitors DAT, под неё ставят проект — частота бывает дробной, Время и FPS.
Режимы «FPS is Half Monitor Rate» обещали 30 кадров ровно по два обновления на 60 Гц, но по странице Perfect Playback не работают со сборок 2022.20000, с переходом на Vulkan; без них кадр держится на экране то одно, то три обновления.
Контент по тому же правилу: 30 при 60 Гц ровно, 29,97 при 60 Гц повторяет кадр, Кодеки.
Эксклюзив
С Windows 8 окнами управляет DWM, и даже ровные кадры от TouchDesigner он иногда не показывает. Известное средство одно — эксклюзивный доступ.
Окно без рамки на весь стол, а стол — один монитор или сведённые в один.
Лишний монитор на той же карте — скажем, для управления машиной — в
эксклюзив не пустит. Щелчок мимо окна выводит из режима, обратно —
возвращает. Второй путь — Opening Size = Single Display Exclusive:
окно берёт один монитор, остальные у стола, но после щелчка мимо эксклюзив
вернётся только с новым входом в Perform.
Эксклюзив видно по миганию экрана при входе в Perform и при уходе на другое окно. Выпадающее меню — тоже окно и выбивает с тем же миганием. Если мигание хуже редких пропусков, окно делают на пиксель меньше стола, и в эксклюзив оно не входит. Что происходит со сменой кадров, показывает PresentMon.
Без монитора
Video Device Out, NDI Out и прочие: проект на частоте устройства или
потока, контент на ней или на делящей её нацело, режим Perform, а
у перформ-окна выключен V-Sync Mode или Draw Window — иначе окно
подстроится под монитор стола с чужой частотой. В редакторе от этого не
уйти, поэтому пропуски мерят только в Perform, Выход на SDI.
| Ещё мешает | Что делать |
|---|---|
| Уведомления, всплывающие окна | «Не беспокоить», лишнее удалить |
| Автообновления | Отложить или выключить |
| Антивирус | Выключить на шоу или исключить папки проекта |
| Электропитание | «Максимальная производительность» |
| Гибридная графика | Дискретная карта — Железо |
Диагностика
Смотрят несколько минут на droppedframes у Perform CHOP. Пропуски ровным
шагом — расходятся частоты. Пачками — что-то периодически отнимает
ресурсы: диск, сеть, Python. Недобор всё время — проект не успевает,
Что не должно кукаться. Счётчик чистый, а рывки
видны — почти наверняка DWM, эксклюзива нет. Несколько машин на одну
картинку — Синхронизация машин и выходов.
Пять минут ничего не доказывают: проблема появляется на двадцатой, когда что-то накопилось. Гоняют столько, сколько идёт шоу, и смотрят счётчик.
Нашли в статье ошибку, устаревшее или непонятное место?