Рендер и оптимизация
Каждое правило взято из уроков прошлых роликов; в квадратных скобках — источник (легенда внизу). Где источники расходятся, приведены оба совета с пометкой, к какому случаю каждый.
Короткие правила
- Рендер берёт кадр по времени, а не проигрывает анимацию подряд: одно свойство — одна анимация, пульсации — твинами, а не
@keyframes. [Визуал] - Внешние скрипты и шрифты кладите в проект, а не тяните во время рендера. [Визуал] [Научпоп]
- Шум зерна вычисляйте из номера кадра, а не из случайного генератора [Научпоп]; последовательность случайных чисел генератора сохраняйте и проверяйте, что прежние версии пересобираются побайтно так же [Звук].
- Прежде чем ускорять, проверьте, куда уходит время. [3D]
- Кодирование — на NVENC вместе с ограничением битрейта; качество кодека сравнивайте по PSNR на одном куске. [3D]
- Рендер запускайте отвязанным от сессии; две версии — последовательно, а не одновременно на одну видеокарту. [3D]
- После переноса на машину рендера сверяйте контрольные суммы файлов. [3D]
- Картинку и звук держите отдельно: звук вшивайте копированием видеопотока, без перекодирования картинки. [Видео] [Визуал] [3D]
- Перед сдачей — ffprobe и проверка, что страница отдаёт именно новый файл. [Видео]
- Прежние версии не удаляйте. [Видео] [Звук]
Подробности
seek-render.md— грабли покадрового рендера с перемоткой, детерминизм.performance.md— где уходит время, кодирование, воркеры, запуск рендера.mux-and-delivery.md— вшивание звука, проверка готового файла, версии.
Источники
- [Звук] — архивные уроки по звуку и озвучке промо-роликов и презентаций.
- [Видео] — архивные уроки по видео: записи интерфейса, темп, переходы.
- [Визуал] — архивные уроки по визуалу промо-роликов из схемных кадров (HTML-кадры → покадровый рендер с перемоткой).
- [3D] — уроки трёхмерного ролика от первого лица в браузере (three.js → покадровый рендер).
- [Научпоп] — уроки ролика в стилистике советского научпопа и диафильма начала 70-х.