К содержанию
fohbook/ TouchDesigner
профи

Кэш и предзагрузка

Cache TOP, Cache Select, кэш кадров плеера и приёмы против рывка в момент, когда контент нужен.

Всё, что читается с диска или считается долго, должно быть готово до того, как понадобится. Иначе шоу дёргается ровно в момент перехода.

Cache TOP

Cache TOP держит в видеопамяти последние N кадров входа. Cache Select TOP достаёт из него кадр по индексу.

Применения:

Задача Как
Задержка картинки на N кадров Cache + Cache Select с отрицательным индексом
Эффект «шлейфа» Несколько Cache Select с разными индексами, сложить
Стоп-кадр Cache с Active = 0
Замедление Cache Select с дробным индексом и интерполяцией
Буфер под запись Накопить, потом выгрузить в файл

Память считается прямо: кадров × ширина × высота × каналы × байт. Сто кадров FullHD в 8 битах — 800 МБ. Легко упереться в видеопамять.

Предзагрузка видеофайлов

У Movie File In TOP параметры Pre-Read Frames и Pre-Load Frames на странице Tune. Первый читает данные вперёд с диска, второй держит распакованные кадры.

Практическое правило: увеличивайте Pre-Read, пока не исчезнет рывок в начале клипа, и не больше. Каждый кадр — это память.

Открыть заранее, показать потом

Главный приём плейлиста: следующий клип уже открыт в отдельном Movie File In, но Play выключен, а вывод идёт через Cross или Switch. Смена — это движение параметра, а не открытие файла.

clipA ─┐
       ├─ cross ──▶ out
clipB ─┘

Пока играет A, скрипт готовит B. Перед переходом B уже стоит на нужном кадре. Подробнее — Movie File In.

Прогрев при старте

Первый кадр после запуска всегда дороже: компилируются шейдеры, читаются файлы, выделяется память. Для инсталляции это значит: не показывайте зрителю первые секунды.

Практика:

  1. Запустить проект с чёрным выводом.
  2. Прокрутить все сцены и все переходы в невидимом режиме.
  3. Дождаться стабильных кадров в секунду (Perform CHOP).
  4. Только после этого открыть вывод.

Так же поступают с нейросетевыми узлами: первый проход модели всегда медленнее последующих.

Мониторьте память, а не только кадры

Info CHOP на любом TOP и Perform CHOP дают занятую видеопамять. Утечка проявляется не падением кадров, а плавным ростом памяти в течение часов — и падением ночью, когда никто не смотрит.

Кэш не переживает смену разрешения

Меняете разрешение входа — кэш сбрасывается и перевыделяется. В шоу это видно как рывок. Держите разрешение постоянным по всей цепочке — Разрешение.

рядом по смыслу