Кэш и предзагрузка
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.
Прогрев при старте
Первый кадр после запуска всегда дороже: компилируются шейдеры, читаются файлы, выделяется память. Для инсталляции это значит: не показывайте зрителю первые секунды.
Практика:
- Запустить проект с чёрным выводом.
- Прокрутить все сцены и все переходы в невидимом режиме.
- Дождаться стабильных кадров в секунду (
Perform CHOP). - Только после этого открыть вывод.
Так же поступают с нейросетевыми узлами: первый проход модели всегда медленнее последующих.
Info CHOP на любом TOP и Perform CHOP дают занятую видеопамять. Утечка
проявляется не падением кадров, а плавным ростом памяти в течение часов —
и падением ночью, когда никто не смотрит.
Меняете разрешение входа — кэш сбрасывается и перевыделяется. В шоу это видно как рывок. Держите разрешение постоянным по всей цепочке — Разрешение.