Главная | Информация | Как ускорить работу Adobe Premiere и After Effects
НЕКОТОРЫЕ ФАКТОРЫ ВЛИЯЮЩИЕ НА ПРОИЗВОДИТЕЛЬНОСТЬ МОНТАЖНОГО КОМПЬЮТЕРА
актуально на 01.2024
CUDA/OpenCL и Premiere:
Adobe Premiere и After Effects используют вычислительные ресурсы видеокарт еще начиная с времен CS5. Работа этой функции зависит от сочетания версии видеокарты, версии драйверов, версии программы и их настроек.
Техническая возможность использовать GPU ускорение не значит, что программа вместо CPU начнет работать на GPU. На GPU может решаться ряд вычислительных задач. Если в процессе работы на таймлайне или экспорта таких задач не возникает, то GPU в работе программы не участвует.
В этой статье описывается: а) как включить все имеющиеся аппаратные
ресурсы, б) как организовать рабочий процесс так, чтобы максимальное число вычислительных задач выполнялось на GPU.
Adobe Premiere прямо поддерживает возможности GPU ускорения практически всех видеокарт NVidia, имеющих CUDA и минимум 1 Гб памяти. Чипсеты AMD(ATI) поддерживаются Премьером через OpenCL начиная с версии CS6 для Mac (6750M, 6770M), фактически с CC. Из чипсетов Intel поддержка началась с ноутбучных Intel Iris 5100 и Iris Pro 5200 через OpenCL в Premiere СС 2014 (версия 8.0). На Windows текущие версии Премьера поддерживают все актуальные GPU этих трех производителей, поддержка старых видеокарт последовательно прекращается. На Mac в текущих версиях системы видеокарты NVidia не работают.
Плагины, например Magic Bullet Looks, Elements3D - это отдельные программы и они могут использовать или не использовать GPU, независимо от настроек программ Adobe.
Что даёт GPU ускорение
Работу Adobe Premiere упрощенно можно рассматривать как следующий конвейер: чтение файлов с диска > декодирование сжатого видео во внутренний формат представления видео в памяти > обработка на таймлайне > сжатие видео кодеком > запись файла на диск. Операции чтения/записи не зависят от GPU и CPU, они зависят от скорости дисков. Скорости современных HDD и SSD в разы превышают необходимую величину для видеоформатов со сжатием, и выполняются без участия процессора, т.е. их влияние на производительность для собственно не заметно.
Графический процессор видеокарт (GPU) при монтаже видео может использоваться на оставшихся трёх операциях. Эти операции выполняются последовательно и независимо. Последовательно означает что каждый кадр проходит все этапы конвейера от первого до последнего, независимо означает что скорость работы на каждом этапе не зависит от других, т.е. если на каком-то этапе кадр обрабатывается долго, то на другом этот кадр может обрабатываться мгновенно. Всё вместе это означает что если на каком-то этапе скорость низкая, то другие будет будут простаивать в ожидании. Задача оптимизации не ликвидация простоев, а минимизация задержек - не нужно искать чем загрузить простаивающий блок, нужно определить и добавить мощности там, где полная нагрузка и мощности не хватает.
Для выполнения этих операций у GPU есть независимые аппаратные блоки для: декодирования распространённых форматов (nvdec/vce/qsv); обработки изображения на универсальных вычислительных ядрах gpu (шейдеры, CUDA); кодирования в распространённые форматы (nvenc/vce/qsv). Если на видеокарте этих блоков нет, или они есть, но в Премьере нет их поддержки, то операции выполняются на центральном процессоре.
Наибольшее влияние на производительность оказывают:
1) геометрические трансформации над видео (изменения размеров, вращение, преобразование полей, преобразование кадровой частоты), преобразование цветового пространства, цветокоррекция, прочие манипуляций над изображениями.
2) аппаратное кодирование видео, что злободневно для форматов h.264, h.265
Например, при простом монтаже видео встык, без эффектов и последующем кодировании в h264, аппаратное ускорение по первому способу не даст никакого ускорения т.к. видео остаётся без изменений. Но если задействовать второй способ (есть аппаратное кодированием Intel Quick Sync/Nvidia/AMD или установлен плагин экспорта voukoder или ему подобный), то скорость экспорта вырастет в разы. Подробнее про аппаратное кодирование здесь.
Другой пример, монтаж 4K видео с цветокоррекцией, Warp Stabilizer, шумодавом Neat Video с последующим экспортом в MPEG-2. В ускорении по первому способу Warp Stabilizer выигрыш будет небольм, работа Neat Video ускорится, а вклад GPU на операциях изменения размеров и цветокоррекции ускорит общий результат в разы; второй способ эффекта не даст по причине отсутствия аппаратного ускорения в MPEG кодировщике.
Все блоки кодирования и декодирования на видеокартах высокоскоростные и отличаются в основном поддерживаемыми разрешениями и цветовыми пространствами. Скорость работы шейдеров прямо пропорционально их количеству и тактовой частоте, причем частоты на видеокартах примерно на одном уровне, а количество ядер сильно различается. Важно отметить, что наиболее производительные GPU Intel примерно в 20 раз уступают по производительности флагманам NVidia и AMD, но превосходят их старые модели.
Декодирование материала
Рассмотрим третий способ использования GPU видеокарты - это декодирование исходного материала. Эффект будет при работе на таймлайне. Это никак не ускорит работу с тяжёлыми эффектами, но будет полезно для случаев когда процессор не успевает распаковывать тяжёлое видео - 4K60, 1080p50 h264/HEVC видео с высоким битрейтом (100+ mbps). Заметнее всего это будет на слабых ноутбуках. Такой функционал добавлен для процессоров Intel с QSV начиная с 2015.3, позже появилась и для NVidia и AMD. Также есть бесплатный плагин Cinegy Turbocut для видеокарт NVidia. Современные топовые процессоры Intel и Ryzen, могут декодировать h264 видео быстрее QSV, поэтому отключение декодирования может дать ускорение работы в некоторых случаях, в других случаях аппаратное декодирование позволит разгрузить CPU. Это зависит от конкретного проекта и конкретного материала.
Mercury Playback Engine GPU Acceleration
Для профессиональной работы принципиальна скорость с которой обрабатывается видео. При работе на GPU все манипуляции c изображением отвечают вычислительные ядра видеокарт. Скорость счета на CUDA на таких операциях как перекодирование из 4K в 1080p возрастёт примерно в 5-6 раз. Цветокоррекция также сильно зависит от GPU. За счет использования вычислений с высокой точностью, качество изображения оказывается значительно лучше, чем при работе на центральном процессоре. Таким образом, нужно чтобы видео рендер обязательно был Mercury Playback Engine GPU Acceleration CUDA или OpenCL (включается в File|Project settins|General).
Включение GPU в старых версиях
На текущий момент программа автоматически определяет наличие подходящей видеокарты. Однако есть нюансы:
-
Adobe постепенно отказывается от поддержки старых моделей видеокарт (это связано с тем что производители видеокарт не выпускают новые драйвера);
- стоит версия Премьера которая вышла раньше чем видеокарта;
- по той или иной причине старые версии Premiere могли не определяет наличие ускорения и не включают его.
Можно попробовать подсказать Премьеру вручную. Если ваша NVidia видеокарта не определена как имеющая GPU ускорение, и в панели Project Settings вместо GPU Acceleration доступен только Mercury Playback Engine Software Only:
то нужно прописать её в файле C:\Program Files\Adobe\Adobe Premiere Pro CS6\cuda_supported_cards.txt. Список официально поддерживаемых видеокарт ATI (Radeon) находится в файле opencl_supported_cards.txt и может быть таким же образом дополнен вручную. В Premiere СС Adobe разрешила поддержку всех CUDA и OpenCL чипсетов, достаточно было при первом запуске зайти в эту панель настроек и включить GPU вручную. Прописывать руками теоретически не требуется, практически же, если Premiere СС не увидит вашей видеокарты, вам нужно будет самостоятельно создать этот файл и вписать в него свою видеокарту (пример файла NVidia CUDA, Radeon OpenCL).
Легко проверить причину отсутствия ускорения можно вызвав консоль (Ctrl+F12) и выполнить в ней команду GPUsniffer. В текстовой выдаче будет причина: * Not chosen because of insufficient video memory - мало памяти на видеокарте, * Not chosen because of old driver - старый драйвер видеокарты и т.д.
Если у вас старая видеокарта, которая не поддерживается новыми драйверами, то придётся работать на более старой версии Премьера. Также СС2015 и 2017 могут не увидеть видеокарты Kepler после первого запуска программы после загрузки, это связано с тем, что модуль Премьера, инициализирующий видеокарту не успевает отработать, до запуска ядра премьера. Нужно просто выйти из премьера и запустить его ещё раз. С драйверами AMD Radeon Crimson не будет GPU ускорения у старых карт AMD Radeon HD 7xxx и более ранних.
Adobe Premiere CS3, CS4 аппаратное ускорение CUDA/OpenCL не поддерживают и прописывать в них видеокарту бессмысленно.
Производительность
В работе эффектов есть своя особенность: если среди наложенных на клип эффектов есть один, не поддерживающий GPU ускорение, то все остальные эффекты так же переключаются в режим CPU. Adjustment layer это касается в полной мере.
на этой картинке показано, как в Premiere отмечены эффекты с GPU ускорением
Ниже идут не рекомендации по покупке видеокарты, а общая информация о связи между производительностью центрального процессора и его способностью загрузить работой все ядра на видеокарте:
AMD FX 6 или 8 ядерный - 384 или больше
Intel dual core - 96 или больше
Intel core quad - 192 или больше
Intel I7 первого поколения - 384
Intel I7 Ivy Bridge - 1344
Intel I7 Coffee Lake/6 - 2944
Ядер у GPU может быть меньше, но редактирование тогда замедлится.
Если у вас старый компьютер, например quad core на 2.0 ГГц с 4-мя гигабайтами памяти, покупать GTX-1060 бессмысленно. Для такой системы лучше добавить памяти и использовать видеокарту с примерно 300 cuda ядрами. Если у вас совсем слабый Core Duo, то на рынке (китайцы, eBay) есть возможность задёшево приобрести б/у xeon перепиленный под ваш сокет. Также хорошо показали себя китайские материнские платы с многоядерными Xeon v3/v4.
Экспорт
Для аппаратного кодирования h.264 есть следующие варианты:
1. С Pemiere CC 2020 версии 14.2 штатно поддерживает аппаратные возможности Intel/NVidia/AMD, нужна windows 10. Если премьер версии 2017.1 и новее, то при наличии процессора Intel c Quick Sync будет аппартное кодирование с Intel QSV.
2. Плагин Cinegy Turbocut поддерживает кодирование и декодирование h264/h265 средствами NVidia
3. Плагин voukoder (NVidia/AMD/Intel) выполняет кодирование видеокартой в формат h264/h265
4. Воспользоваться внешними аппаратными кодировщиками через плагин Advanced Frame Server.
5. Для Premiere CS 5.x, 6.x установить пакет Rovi TotalCode 6.03 включающий в себя кодек h.264 с поддержкой CUDA (нужны старые драйвера, не работает с видеокартами архитектуры Kepler и новее, т.е. 6хх и более свежие серии видеокарт не поддерживаются).
Для экспорта в формате mpeg и другие аппаратного кодирования у Премьера нет.
Версии Premiere и производительность
По мере мере появления и развития новых функций, они показывают более высокую производительность.
Тестируем CC 7.2 vs СС 2015.1 на эффекте Lumetri с одним LUT .cube.
Lumetri в Premiere CC в отличие от CC 2015 ускорение GPU еще не использует, но интересно, что и в чисто софтварном режиме CC 2015 оказывается быстрее:
cc7.2 GPU ON, 3.4 fps CPU 35%
cc7.2 GPU OFF 2.9 fps CPU 45%
cc9.1 GPU ON, 25 fps CPU 22% GPU 8%
cc9.1 GPU OFF 3.2 fps CPU 43%.
Обратной стороной новых версий могут оказаться более высокие требования к ресурсам. Это может проявляться как различные сбои в работе над проектом, и при экспорте на слабых конфигурациях.
Изменения в программе не всегда идут на пользу производительности. До версии СС 2014
Multicam работал нормально, а с этой версии возникли серьезные проблемы с падением производительности при монтаже материала с межкадровым сжатием при длине проекта больше 5-10 мин. В СС 2019, с введением GPU преобразования формата цвета в модуле ImporterMPEG, выросла нагрузка на GPU и расход памяти GPU.
Premiere и память:
Раньше Premiere был не так критичен к размеру памяти. Сейчас для нормальной работы нужно 32 Гб и больше. В свое время Премьер мог работать на 4 Гб, в этом случае адобовские программы могут использовать для своей работы максимум 2.5 Гб. Этого было достаточно для простого монтажа DSLR видео. На более сложнных проектах, например со стабилизацией Warp Stabilizer, шумоподавлением Neat Video, цветокоррекцией Lumetri, кодированием в h.264, компьютер мог серьезно подзависать, да так, что мышь притормаживает. Если посмотреть в такие моменты в диспетчер задач, становится видно что система уходит в глубокий своп, хотя может быть свободно и 1 Гб памяти. Сейчас Премьер при нехватке памяти чаще всего аварйино завершает свою работу.
Выход в такой ситуации может быть следующий: Edit/Preferences/Memory - Optimize rendering for: Memory. При монтаже без обработки можно попробовать выключить опцию Maximum bit depth (при работе на GPU эта опция включена всегда, независимо от выбора пользователя. При работе на центральном процессоре без GPU, отключение этой опции отрицательно влияет на качество любой цветокоррекции).
Экспортировать при нехватке памяти можно через Adobe Media Encoder (кнопка Queue), после чего можно закрыть Premiere.
Также можно отключить системную службу Superfetch, которая занимается опережающим кешированием, что при нехватке памяти бессмысленно и вредно.
У версий Premiere начиная с 2017 малый объём физической памяти может быть проблемой, часто поступали жалобы что "Premiere вылетает посреди экспорта". В такой ситуации может помочь существенное увеличение размера файла подкачки. Поскольку активное использование файла подкачки не может способствовать повышению производительности, мы этого избегаем. Сначала можно попробовать оптимизировать эффекты, просчитать их, попробовать сделать промежуточный экспорт в более простой кодек (cineform, prores, dnx, cinegy danieli), потом пережать в h264/hevc. Эта проблема актуальна до сих пор.
Количество ядер процессора и hyperthreading на требования к памяти не влияют, в чём легко убедиться, отключая ядра от процесса Adobe Premier Pro.exe в Task Manager.
Если у вас много системной памяти, не отдавайте её всю или почти всю программам adobe: при работе Премьера активно кэшируются дисковые операции, и наличие свободной системной памяти ускорит работу - если системе не хватает памяти, то windows начинает активно использовать своп (файл подкачки), а это сильнейший удар по производительности.
Adobe Media Encoder
В программе MediaEncoder, CUDA ускорение появилось начиная с апдейта 7.1 для Media Encoder CC от 10/31/2013. Чтобы оно работало, должен быть выбран соответствующий рендер.
Для древних версий премьера, если NVidia видеокарта имеет CUDA, но невозможно выбрать рендером Mercury Playback Engine GPU Acceleration, то нужно вручную создать файл C:\Program Files\Adobe\Adobe Media Encoder CC 2014\cuda_supported_cards.txt и прописать вашу видеокарту там. Аналогично с Радеонами.
Нужно понимать что GPU ускорение собственно в Media Encoder и настройки GPU в проекте Premiere/AfterEffects это не одно и то же. Настройка render engine в AME использует GPU ускорение если у вас входной формат отличается от выходного, например проект в Премьере 1080p 50 fps, а в AME файл экспортируется в 720p 25 fps, т.е. если нужно пересчитывать изображение. А если размеры, кадровая частота и цветовые пространства проекта Pr b ФЬУ совпадают, то работы для GPU нет.
То как, будут просчитываться эффекты внутри проекта Premiere/AfterFX, процессором или видеокартой, зависит не от кнопки Renderer показанной выше, а от того как настроен проект в Premiere. Должно быть включено GPU ускорение, применены эффекты с GPU ускорением, если в эффектах есть настройки работы на CPU/GPU (например NeatVideo имеет собственные настройки), то выбрано GPU и т.д. И что важно, в панели Preferences у MediaEncoder нужно выключить опцию Import sequences natively.
При правильной настройке скорость экспорта из Premiere и AME будет одинакова. В случае использования аппаратного декодирования, оно должно быть включено в обjих программах.
Как контролировать работу GPU
Проверить как фактически используется чипсет видеокарты (GPU) можно в Диспетчере задач Windows 10+ и программой GPU-Z. GPU-Z показывает галочками имеет ли ваша NVidia видеокарта CUDA, или ваш Radeon OpenCL, а во время рендера хорошо видно как загружается работой GPU вашей видеокарты (GPU Load). Загруженность блоков кодирования/декодирования показывает Video Engine Load. Пожалуйста, учитывайте, что другие программы запущенные в системе, а также плагины (например Magic Bullet Looks) могут самостоятельно и независимо от настроек программ Adobe нагружать GPU и это тоже будет отображаться.
Современные видеокарты кроме своей памяти, могут использовать память на материнской плате, иногда это нужно, например для пересылки данных видеокарте: процессор подготавливает массив данных, кладет их разделяемую память и сообщает о них видеокарте, далее видеокарта используя механизмы прямого доступа копирует их свою память и там с ними работает, далее, ни процессор, ни системная шина не нагружаются. Однако в условиях когда память на видеокарте заканчивается, видеокарта начинает работать в разделяемой памяти на материнской плате. Это сильно медленнее, и к тому же такая конкуренция замедляет процессор. Поэтому если использование памяти в GPU-Z подбирается к 90% то нужно что-то предпринимать (упрощать проект, покупать новую хорошую видеокарту). В Диспетчере задач Win10 также можно наблюдать за тем как используется Shared (разделяемая) память во вкладке GPU.
CUDA и ускорение работы After Effects:
При работе в After Effects, программа может использовать ресурсы видеокарты следующими способами:
— ускорение 2D интерфейса программы - работает на всех видеокартах;
— OpenGL - есть практически на всех видеокартах, ускоряется превью (Fast Draft), OpenGL плагины (например Element 3D);
— альтернативное ядро просчета 3D слоёв (с камерой, источниками света) именуемое Ray-traced 3D - только для видеокарт NVidia.
Начиная с AE 14.0 появился ещё один рендер для
3D слоёв - встроенное ядро Cinema 4D.
Постепенно появляется GPU ускорение у встроенных эффектов: у версии 14 это Lumetri, Fast Blur, Brightness and Contrast, Find Edges, Hue/Saturation, Mosaic, Glow, Tint и Invert.
При экспорте After Effects выполняет работу в следующем порядке: сначала просчитывается кадр на таймлайне (все слои со всеми эффектами один за одним, снизу вверх), потом просчитанный кадр сжимается (кодируется) в формат выходного файла. На первом этапе AE использует описанные выше доступные ускорения видеокарты, на втором этапе ситуация полностью зависит от кодеков и описана в секции по Премьеру.
В любом случае, для After Effects нужен быстрый центральный процессор и много памяти (16 Гб а лучше 32 и более), без этого наличие мощной видеокарты не даст никакого эффекта, кроме того, многие тяжелые плагины просто не используют CUDA и работают только на центральном процессоре или на универсальном ускорении OpenGL. В отличие от Премьера, наличие GPU ускорения на видеокарте ускорит работу в меньшем количестве проектов.
Разница между OpenGL и CUDA
Аппаратное ускорение видеокарт обеспечивается специальными блоками на кристалле GPU: Render output units (ROP), Texture mapping units (TMU), Unified shaders (CUDA ядра). Существуют две технологии использования GPU видеокарт: OpenGL и CUDA (для видеокарт от ATI и Intel аналог CUDA называется OpenCL).
OpenGL описывает трехмерную сцену целиком, и это описание никак не зависит от видеокарты, но его средствами невозможно выполнить все функции After Effects. Производительность OpenGL прежде всего зависит от количества и мощности ROP и TMU блоков занимающихся трехмерной визуализацией. Также OpenGL отвечает за 2D графику в системе - за ускорение пользовательского интерфейса (Hardware BlitPipe), управление видеорежимами, операции с видеопамятью. Работающий через OpenGL режим Fast Draft окна Composition оптимизирован для очень быстрого предварительного просмотра в черновом качестве.
С точки зрения работы в AE, функций OpenGL совершенно недостаточно
для его использования при финальном рендере, но, для плагинов которые его используют, его производительность имеет очень большое значение.
CUDA означает прямое программирование ядер GPU, это прямой полный доступ к вычислительной мощи видеокарты. Упрощено говоря, много CUDA ядер быстро обрабатывают очень много цифр, но с изображением как с 2D или 3D сценой они не работают. Какое-то подобие функциональности OpenGL для CUDA сделано компанией NVidia через библиотеку OptiX, где основная программа работающая на CPU, выполняет математические расчеты на шейдерах CUDA. Рендер через эту библиотеку в After Effects и называется Ray-traced 3D. Ray-traced 3D
поддерживает не все функции After Effects, но на подходящих композициях он может многократно превзойти по скорости CPU рендер. Будет выигрыш или нет, лучше определить путем тестового рендера вашего рабочего проекта.
С точки зрения работы в AE, на композициях с 3D слоями это может дать хорошую прибавку к скорости, также CUDA и OpenCL могут напрямую использоваться плагинами.
Поддерживает ли видеокарта OpenGL и CUDA
OpenGL поддерживается всеми графическими ускорителями NVidia, AMD, Intel. Для Fast Draft
требуется OpenGL версии 2.0 или выше, и Shader Model 4.0 или выше. Как правило, с этим проблем не возникает. CUDA версия драйвера должна быть 4.0 или выше (для СС нужна версия 5.0+). Версии можно проверить в EDIT/Preferences/Preview/GPU Information.
Если версии ниже, то надо обновить драйвера с сайта NVidia. Если не помогло, то пора покупать новую видеокарту. Если у вашей видеокарты есть CUDA, но GPU ускорение не доступно, а возможен только software режим, то можно вручную добавить свою видеокарту в файл C:\Program Files\Adobe\Adobe After Effects CS6\Support Files\raytracer_supported_cards.txt. Для After Effects СС
и новее достаточным может оказаться включить галку Enable untested GPU... в панели EDIT/Preferences/Preview/GPU Information
Ray-traced 3D
3D рейтрейсный рендер Ray-traced 3D появился начиная с CS 6 (версия 11.0.2 и новее), он обсчитывает на видеокарте 3D слои, камеру, источники света в композиции, в которой он выбран рендером. Поддержаны только CUDA GPU видеокарт NVidia. Есть особенности работы: финальный рендер может стать в разы быстрее, или может оказаться медленнее классического CPU рендера, в зависимости от композиции и видеокарты. Также при включении графического ядра Ray-traced 3D параллельно ускоряется отображение в окне Composition при редактировании проекта.
Есть ограничения: GPU рендер не поддерживает ряд функций программы связанных с режимами наложения, track matte, и ряд эффектов, например Pin Tool, т.е. подходит не для всех композиций.
В версиях до CC 2015.1 не поддерживаются чипсеты Maxwell - GeForce GTX 750Ti, вся серия 9x0. В 2017.2 не поддерживаются чипсеты Pascal. Видимо Adobe не успевает обновлять лицензию на чужую библиотеку, но нам ничто не мешает сделать это вручную, подменив optix.1.dll (скачать OptiX 3.9) в папке Adobe After Effects CC 20xx/Support Files.
Как альтернативу Ray-traced 3D, в проектах можно использовать плагины Video Copilot Element 3d, Zaxwerks 3d Invigorator, Mettle ShapeShifter, которые быстрее и мощнее чем Ray-traced 3D. В версии 14 появился встроенный рендер Cinema 4D.
Для включения Ray-traced 3D нужно:
1. Включить его в AE, зайдя в меню EDIT/Preferences/Preview/GPU Information (картинка приведена выше)
2. Указать его для каждой композиции в которой вы решите его использовать:
ВАЖНО ПОНИМАТЬ !!! - CUDA (Ray-traced 3D) в AfterEffects обрабатывает только 3D слои в композиции для которой рендером указан Ray-traced 3D. 2D слои в любом случае обрабатываются рендером Classic 3D. Если в панели EDIT/Preferences/Preview/GPU Information выбран CPU, то независимо от указанного в композиции рендера, включится Classic 3D.
Применение CUDA не гарантирует тотального ускорения: если из 2D слоя сделать 3D и включить Ray-traced 3D, то CUDA включится, но скорость упадёт, потому что на трансформации простых элементов в пространстве Classic 3D оказывается быстрее. Но если усложнить сцену: добавить источники света, тени и глубину резкости, то производительность Classic 3D резко падает и Ray-traced 3D станет уверенно быстрее. Таким образом, Ray-traced 3D нужно устанавливать только для тех композиций проекта, где он даёт ускорение, при неправильном выборе рендер замедлится. Если в композицию вложен слой с другой композицией Ray-traced 3D, выбор рендера для них независим.
Разобраться как это работает лучше делая тестовые рендеры Ray-traced 3D/Classic 3D. Перед тестом не забывайте очистить кэши - Edit/Purge/All Memory & Disk Cache. Засекайте время и следите за нагрузкой CUDA. Контролировать нагрузку GPU можно в программе GPU-Z (значение GPU Load).
Всё это удобно и правильно - в проекте нужно комбинировать 3D элементы оптимизированные под ускорители видеокарт с 2D и 3D элементами использующими весь функционал After Effects.
Ускорение редактирования. Включение OpenGL
Чтобы при редактировании проекта задействовать рейтрейсное 3D ядро работающее через Cuda, нужно чтобы в панели EDIT/Preferences/Preview/GPU Information был выбран GPU.
Также есть возможность использовать ресурсы GPU через OpenGL, то есть задействовать возможности видеокарт AMD (ATI), Intel HD Graphics и тех же NVidia через программный интерфейс 3d ускорителей OpenGL. Это ускоряет работу при редактировании проекта: используется при просчете превью, для отрисовки интерфейса AE при редактировании проекта и некоторыми эффектами (эффекты Cartoon, Magic Bullet Looks и Colorista используют OpenGL как при редактировании, так и при экспорте).
OpenGL для отображения в окне Composition при редактировании и для превью включается кнопкой Fast Preview / Fast Draft в окне Composition. В силу ограничений стандарта OpenGL, не все функции After Effects работают, поэтому Fast Draft применим не для всех проектов.
Другая опция ускоряющая работу в редактировании: включить Hardware Accelerate Composition (если у вас СС 2015, то нужна версия 13.6+):
В меню Edit / Preferences надо выбрать Display, и включить Hardware Accelerate Composition. Эта опция отвечает за аппаратное комбинирование слоев и отрисовку элементов интерфейса в окне Composition (Hardware BlitPipe).
Многопроцессорность: ускорение финального просчета
У After Effects долгая история развития, ещё с тех времен когда программа называлась CoSa AfterFX и у компьютера был одни процессор с одним ядром. Соответственно не все функции программы, и не все внешние плагины умеют распараллеливать свою работу на несколько ядер. Эта проблема с каждой новой версией снимается, но для старых версий или использования старых плагинов может оказаться актуальной.
Больший объём памяти дает возможность использовать опцию Multiprocessing. Для её включения нужно в меню Edit / Preferences выбрать Memory & Multiprocessing.
В середине появившегося окна включить Render Multiple Frames Simultaneously (рендерить несколько кадров одновременно).
После этого появится возможность задать количество памяти доступное для каждого процессорного ядро для рендера. При желании выберите значение исходя из установленного количества памяти и числа ядер CPU. В случае если памяти не хватит After FX автоматически уменьшит количество задействованных ядер. Обратите внимание, что начиная с Media Encoder и AE СС 2015.0 эта опция отключена.
В некоторых случаях эта опция позволяет ускорить рендер, но за счет большего расхода памяти. При финальном рендере вдобавок к имеющейся в памяти копии After Effects будут запущены дополнительные копии по числу задействованных ядер CPU, только без пользовательского интерфейса. То есть, на 4 ядерном процессоре с Hyper-threading в памяти окажется 9 копий After Effects. Надо понимать, что работать в 8 раз быстрее от этого AE не станет: если какой-то эффект умеет распараллеливать свою работу на несколько ядер просчитывая один кадр, то ускорения от Multiprocessing не будет, потому что чтобы обрабатывать одновременно 8 кадров, нужно подготовить в 8 раз больше информации, в 8 раз больше пересылать информации по памяти и согласованно управлять 8-ю потоками обработки, например для обработки фотографии в 17 мегапикселей резервируется порядка 1 Гб памяти, следовательно, для восьми потоков нужно 8 Гб. Это лишняя непроизводительная нагрузка. Если же при просчёте эффекта задействуется только одно ядро, а остальные простаивают, то дать для просчета каждому ядру по кадру будет безусловно эффективным. Реальная эффективность этого способа зависит от многих условий и лучше проверять опытным путём, отслеживая загрузку процессора в Task Manager (Диспетчере задач). Adobe рекомендует при 8 ядрах запускать 4-6 потоков.
Сетевой рендер
After Effects позволяет настроить рендер по сети, на нескольких компьютерах.
Прежде чем браться за это, надо помнить что использованные в проекте шрифты/кодеки должны быть установлены на всех машинах задействованных в рендере.
Экспорт в h264 и After Effects CC
Начиная с версии СС экспорт в h264, WMV и MPEG по умолчанию отключен. Причем с версии СС 2014 он отключен совсем. Это сделано по причине принципиальной невозможности использовать в After Effects двухпроходные кодеки. Для этих форматов разработчиками рекомендован экспорт через Adobe Media Encoder. В реальной работе практичнее всего напрямую экспортировать в какой-либо формат без межкадрового сжатия, например avi кодек UT video, qt кодек Cineform, PNG; а потом перекодировать в h.264.
Для версии After Effects CC остается возможность однопроходного h.264 кодирования, для чего нужно в настройках включить прямой экспорт в h264, и самостоятельно настроить Output Module в очереди рендера:
Остается возможность прямого экспорт в h264 через Quicktime.
Также можно установить плагины экспортв AfterCodecs или Voukoder основанные на ffmpeg.
Adobe Media Encoder
Adobe Media Encoder не поддерживает Render Multiple Frames Simultaneously - опцию в AE для ускорения просчёта, зато поддерживает много форматов экспорта, также в нём можно подключить кодеки с аппаратным ускорением кодирования.
В реальности, наибольшим недостатком AME, является то, что он не поддерживает Ray-traced 3D, и, что хуже всего, что при кодировании кадра кодеками с межкадровым сжатием, Media Encoder заставляет АЕ постоянно пересчитывать все предыдущие кадры в группе.
Резюмируя: прежде чем экспортировать через AME, попробуйте экспортировать небольшой кусок проекта напрямую и засеките время. Если при экспорте через AME скорость упадет, то практичнее экспортировать напрямую (например TIFF sequense, avi/UT video, mov/Cineform) и потом переконвертировать ваше видео в нужный формат.
Одновременная работа AE с другими программами Adobe
After Effects стремится кешировать все результаты просчета превью, и занимает всю доступную память независимо от её объема. Такое кеширование существенно ускоряет редактирование в AE, но недостаток памяти приводит к различным сбоям и аварийному завершению работы программ в самый неподходящий момент. Чтобы минимизировать это, при переключении между AE и Photoshop или Premiere, просто освободите память: Edit/Purge/All Memory.
ОБЩИЕ ВОПРОСЫ
Память видеокарты
Нужен минимум 1 Гб памяти на видеокарте, и лучше если она будет DDR5.
Память DDR3 пригодна для работы, но если покупать новую видеокарту, то разумнее взять DDR5. Для работы full HD формально с большим запасом достаточно 2 Гб, однако, когда один кадр компонуется из нескольких исходных кадров (картинка в картинке) или используются эффекты одновременно обрабатывающие несколько кадров (шумодавы и т.д.) расход памяти кратно возрастает. Если используется GPU ускорение, то вся эта память должна быть на видеокарте. Поэтому 2 Гб это разумный выбор, а 4 Гб это лучше и просто необходимо для UHD/4K видео.
OpenGL в Premiere
OpenGL Премьер не использует, OpenGL используют некоторые плагины. Поддержка OpenGL осуществляется на уровне системы. Если вы устанавливаете видеокарту, то вместе с её драйверами добавляется OpenGL ускорение. Настройки производительности осуществляются из утилит устанавливаемых вместе с драйверами видеокарты. Всё это хорошо знакомо геймерам.
Quadro
Единственное от чего зависит работа GPU ускорения в Премьере это число ядер и тактовая частота. Все видеокарты серий Quadro имеют в этом плане полные аналоги в серии GTX, которые стоят существенно дешевле. Таким образом покупая видеокарту смотрите на производительность и цену. На лейблы можно не смотреть, в Премьере это не работает.
Studio drivers
Никаких преимуществ Studio драйверов перед Game Ready на практике не обнаружено. Недостатков тоже.
Питание
Карты NVIDIA GeForce при полной нагрузке потребляют от 100 до 700 Вт (в паре или SLI).
Следует помнить что остальные компоненты системы тоже потребляют энергию. Вторым по потребляемой мощности идет центральный процессор, для quad core Q9650 это 65 Вт, в этом случае достаточно блока питания от 300 Вт. Или I7-930 потребляет до 130 Вт, и блока питания на 500 Вт, может не хватить.
простой, Вт | экстремальная нагрузка, Вт | CUDA ядер | |
GTX 460 | 80 | 160 | 336 |
GTX 660 | 80 | 275 | 1152 |
GTX 660Ti | 80 | 320 | 1344 |
GTX 670 | 80 | 340 | 1344 |
GTX 680 | 85 | 390 | 1536 |
GTX 690 | 100 | 510 | 2х1536 |
GTX 730 | 10 | 38 | 96 |
GTX 760 | 95 | 300 | 1152 |
GTX Titan | 109 | 335 | 2688 |
GTX 960 | 105 | 270 | 1024 |
GTX 980 | 110 | 390 | 2048 |
Охлаждение
Необходимо контролировать рабочую температуру видеокарты. Существует несколько программ позволяющих это делать. Например все тот же GPU-Z или HWMonitor (скачать можно с www.cpuid.com).
При необходимости, организуется дополнительное охлаждение. Так же контролируйте температуру CPU.
Независимо от принимаемых мер, не реже чем раз в пол года надо чистить радиаторы и вентилятор от пыли.
Работа с несколькими GPU
Такие видеокарты как GTX 690, Titan по существу уже являются сдвоенными видеокартами. Premiere CC работает с ними, и, более того, работает если в системе несколько видеокарт, причем режим SLI не требуется, а значит можно использовать видеокарты разных серий. Этот режим работы также известен как MultipleGPU. Выигрыш в производительности здесь не однозначен и зависит от сбалансированности конфигурации компьютера.
Дополнительные возможности для манёвра даёт использование GPU сторонними плагинами. В таком случае можно CUDA ускорение одной видеокарты назначить Премьеру, а OpenGL ускорение другой видеокарты (например Radeon) назначить плагину (например серия Magic Bullet работает через OpenGL). Кроме того появляется всё больше плагинов напрямую использующих MultipleGPU - Neat Video 4, Beauty Box 4, Twixtor, DE:Noise, ReelSmart Motion Blur.
Оптимизация работы с дисками
Современные HDD и SDD на порядок превосходят потоки в видео с камер (100 мбит это 12.5 мегабайт в секунду, 400 мбит это всего 50 мб/сек). Скорее проблемой могут оказаться различные превьюшки, внутрениие прокси, которые последние версии премьера плодят со страшной силой. Поэтому располагайте Media Cache на другом диске, отличном от того где собственно исходники, лучше всего SSD.
Система тоже активно использует системный диск, плодит кеши, ведет логи. Нужен SSD.
Премьер сегодня это несколько тысяч мелких файлов, для работы с которыми предпочтителен SSD.
Таким образом можно хранить и работать с материалом на экономически выгодных HDD, а систему, премьер, и временные файлы держать на хорошем SSD.
Работая с жёсткими дисками нельзя не допускать фрагментации, контролируйте её и при необходимости выполняйте дефрагментацию. Для Premiere разместите на выделенном быстром HDD, а лучше SSD.
Для Adobe After Effects включите Disc Cache в Preferences/Media & Disc Cache и разместите его на выделенном быстром диске, SSD; так же разрешите Disc Cache = Current Settings в Render Settings очереди рендера Render Queue.
Фотографии
Если вы загружаете в проект фотографии в ~20 мегапикселей, а дальше работаете с ними уменьшив например до 50%, то лучше предварительно уменьшить их в фотошопе. Таким образом каждая такая операция с этим фото в Премьере, каждый эффект будет выполняться в 4 раза быстрее.
Кроме того, имеется ограничение GPU ускорения в Премьере: для обработки кадра резервируется ((ширина*высота)/16,384) мегабайт памяти на видеокарте. Если полученное значение превышает размер доступной памяти, рендер Premiere переключается на центральный процессор. Это означает, что на этом кадре GPU ускорение не будет работать ни на одном эффекте. Для примера, размер изображения с Canon 550D равен 5184×3456 пикселей. В результате расчета получаем 1,094MB, что физически больше 1GB памяти на Quadro FX 3800.
CEPHtmlEngine
Этот процесс часть подхода Adoba к интерфейсам: отвечает за работу панели Library (доступ к облачным медиа-ресурсам), Extensions и за новое окно запуска Premiere; каждые 5 секунд лезет в облако и в некоторых версиях Премьера (2015) на процессорах без HT может забирать 30% быстродействия. Если вы не используете Extensions, и оптимизируете использование памяти и быстродействия, то можно переименовать папку CEPHtmlEngine, расположенную в c:\Program Files\Adobe\Adobe Premiere Pro CC 20xx\
AdobeIPCBroker
Примерно каждые 30 секунд процесс с именем AdobeIPCBroker.exe посылает зашифрованные данные длиной от 1 до 1,5 кб адобовским серверам. Поскольку нам надо работать, а не быть на постоянной связи с облаком, файл c:\Program Files (x86)\Common Files\Adobe\OOBE\PDApp\IPC\AdobeIPCBroker.exe можно заменить этим.
Lumetri Scopes
Если при проигрывании таймлайна быстродействия не хватает, то учитывайте, что отображаемая панель Lumetri Scopes требует немалых ресурсов.
Aero
Aero работает за счет GPU ускорения и потребляет ресурсы. Поэтому его можно отключить
https://helpx.adobe.com/premiere-pro/system-requirements.html - системные требования
http://blogs.adobe.com/aftereffects/category/technical-focus
https://www.cpubenchmark.net/common_cpus.html