- CUDA / OpenCL і Premiere:
- Що дає GPU прискорення
- декодування матеріалу
- Mercury Playback Engine GPU Acceleration
- експорт
- Версії Premiere і продуктивність
- Premiere і пам'ять:
- Adobe Media Encoder
- Як контролювати роботу GPU
- CUDA і прискорення роботи After Effects:
- ЗАГАЛЬНІ ПИТАННЯ
Головна | інформація | Як прискорити роботу Adobe Premiere і After Effects
актуально на 01.2019
CUDA / OpenCL і Premiere:
Починаючи з версії CS5, Adobe Premiere і After Effects використовують обчислювальні ресурси відеокарт. Наявність такої підтримки залежить від поєднання версії відеокарти, версії драйверів, версії програми і їх налаштувань.
Технічна можливість використовувати GPU прискорення не означає, що програма замість CPU почне працювати на GPU. На GPU може вирішуватися ряд обчислювальних задач. Якщо в процесі монтажу або експорту таких завдань не відображається, то GPU в роботі програми не бере.
У цій статті описується: а) як включити всі наявні апаратні ресурси, б) як організувати робочий процес так, щоб максимальна кількість обчислювальних задач виконувалося на GPU.
Adobe Premiere прямо підтримує можливості GPU прискорення практично всіх відеокарт NVidia, що мають CUDA і мінімум 1 Гб пам'яті. Чіпсети ATI підтримуються Прем'єром через OpenCL починаючи з версії CS6 для Mac (6750M, 6770M), фактично з CC. З чіпсетів Intel підтримка почалася з ноутбучних Intel Iris 5100 і Iris Pro 5200 через OpenCL в Premiere СС 2014 (версія 8.0), зараз додані Iris 6100, 6200, 6300 P6300, 540/550, 580, P580; HD Graphics 5000, 6000.
Модулі, наприклад Magic Bullet Looks, Elements3D - це окремі програми і вони можуть використовувати або не використовувати GPU, незалежно від налаштувань програм Adobe.
Що дає GPU прискорення
Роботу Adobe Premiere спрощено можна розглядати як наступний конвеєр: читання файлів з диска> декодування стисненого відео у внутрішній формат подання відео в пам'яті> обробка на таймлайне> стиснення відео кодеком> запис файлу на диск. Операції читання / записі не залежать від GPU і CPU, вони залежать від швидкості дисків. Графічний процесор відеокарт (GPU) при монтажі відео може використовуватися на трьох операціях. Ці операції виконуються послідовно і незалежно. Послідовно означає що кадр відео проходить всі етапи конвеєра від початку і до кінця, незалежно означає що швидкість роботи на кожному етапі не залежить від інших. Все разом це означає що якщо на якомусь етапі швидкість низька, то на інших буде простий від слова простоювати. Завдання оптимізації не ліквідація простоїв, а мінімізація затримок.
Для виконання цих операцій у GPU є незалежні апаратні блоки займаються: декодування поширених форматів (nvdec / vce / qsv); обробкою зображення на універсальних обчислювальних ядрах gpu (шейдери, CUDA); кодування в поширені формати (nvenc / vce / qsv). Якщо на відеокарті цих блоків немає або в Прем'єрі немає їх підтримки, то операції виконуються на процесорі.
Найбільший вплив на продуктивність надають:
1) геометричні трансформації над відео (зміни розмірів, обертання, перетворення полів, перетворення кадрової частоти), перетворення колірного простору, кольорокорекції, інших маніпуляцій над зображеннями, що підтримується багатьма фільтрами, ефектами і плагінами
2) апаратне кодування відео, що злободенно для форматів h.264 , h.265
Це різні способи використання, з різним ефектом. Наприклад, при простому монтажі DV відео встик, без ефектів і подальшому кодуванні в h264, апаратне прискорення за першим способом не дасть ніякого прискорення тому відео залишається без змін. Але якщо задіяти другий спосіб (встановлений плагін voukoder, або свіжа версія Premiere з включеним апаратним кодуванням Intel Quick Sync, і т.д., при цьому GPU вашої відеокарти або процесора підтримується апаратним кодувальником), то швидкість фінального рендера виросте в рази. Детальніше про апаратне кодування тут .
Інший приклад, монтаж 1080p AVCHD відео з кольорокорекцією, Warp Stabilizer, шумодава Neat Video з подальшим експортом в dvd. У прискоренні за першим способом Warp Stabilizer різниця буде малопомітна, робота Neat Video прискориться, а внесок GPU на операціях зміни розмірів і кольорокорекції прискорить загальний результат в рази; другий спосіб ефекту не дасть через відсутність апаратного прискорення в mpeg кодувальнику.
Всі блоки кодування і декодування на відкритих високошвидкісні і відрізняються в основному підтримуваними дозволами. Швидкість роботи шейдеров прямо пропорційно залежить від їх кількості і тактової частоти, причому частоти на відкритих приблизно на одному рівні, а кількість ядер сильно розрізняється.
декодування матеріалу
Залишається третій спосіб використання GPU відеокарти - це декодування вихідного матеріалу. Ефект буде при роботі на таймлайн, коли центральний процесор не справляється з декодуванням. Це ніяк не прискорить роботу з важкими ефектами, але буде корисно для випадків коли процесор, не встигає розпаковувати важке відео - 4K, 1080p50 AVCHD / XAVC / HEVC відео з високим бітрейтом (100mbps), найкраще прискорення помітять власники слабких ноутбуків. такий функціонал доданий для процесорів Intel з QSV починаючи з 2015.3.
Mercury Playback Engine GPU Acceleration
Для професійної роботи принципова швидкість з якою обробляється відео. За всі маніпуляції c зображенням відповідають шейдери. Швидкість рахунку на CUDA на таких операціях як перекодування з 1080p25 в 576i зросте приблизно в 5-6 разів. Цветокоррекция також сильно залежить від GPU. Якість зображення при цьому виявляється значно краще, ніж при роботі на центральному процесорі. Таким чином, потрібно щоб відео рендер обов'язково був Mercury Playback Engine GPU Acceleration CUDA або OpenCL (включається в File | Project settins | General).
На поточний момент програма автоматично визначають наявність відповідної відеокарти. Однак є нюанси: Adobe поступово відмовляється від підтримки старих моделей відеокарт (c одного боку це означає що нові версії програм просто не тестуються на старих картах, з іншого боку виробники відеокарт припиняють підтримку старих моделей в нових драйверах); коштує версія Прем'єра яка вийшла раніше ніж відеокарта, і він таку не знає; з тієї чи іншої причини старі версії 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 і новіше можуть не побачити відеокарти Kepler після першого запуску програми після завантаження, потрібно вийти з прем'єра і запустити його ще раз. З драйверами AMD Radeon Crimson НЕ буде GPU прискорення у старих карт AMD Radeon HD 7xxx і більш ранніх.
Adobe Premiere CS3, CS4 апаратне прискорення CUDA / OpenCL не підтримують і прописувати в них відеокарту безглуздо.
В роботі ефектів є своя особливість: якщо серед накладених на кліп ефектів є один, який не підтримує GPU прискорення, то всі інші ефекти так само перемикаються в режим CPU. Adjustment layer це стосується повною мірою.
на цій картинці показано, як в Premiere відзначені ефекти з GPU прискоренням
Нижче йдуть не рекомендації по покупці відеокарти, а загальна інформація про зв'язок між продуктивністю центрального процесора і його здатністю завантажити роботою всі ядра на відеокарті:
AMD двох або чотирьох ядерний - 96 gpu ядер або більше
AMD FX 6 або 8 ядерний - 384 або більше
Intel dual core - 96 або більше
Intel core quad - 192 або більше
Intel I7 першого покоління - 384
Intel I7 Ivy Bridge - 1344
Intel I7 Ivy Bridge / 6 ядер - 1 664
Intel I7 Coffee Lake / 6 - 2944
Ядер у GPU може бути менше, але редагування тоді сповільниться.
Якщо у вас старий комп'ютер, наприклад quad core на 2.0 ГГц з 4-ма гігабайтами пам'яті, купувати GTX-780 безглуздо. Для такої системи краще додати пам'яті і використовувати відеокарту з приблизно 300 cuda ядрами. Якщо у вас дуже слабкий Core Duo, то на ринку є можливість за дешево придбати б / у xeon перепиляною під ваш сокет.
експорт
Для апаратного кодування h.264 є наступні варіанти:
1. Встановити плагін voukoder (NVidia / AMD) - плагін виконує кодування відкритий в формат h264 / h265, швидкість не нижче реалтайм.
2. При наявності процесора Intel c Quick Sync і Premiere 2017.1+ використовувати апаратне кодування в штатному експорті Прем'єра.
3. Скористатися зовнішніми апаратними кодировщиками через плагін Advanced Frame Server .
4. Для Premiere CS 5.x, 6.x встановити пакет Rovi TotalCode 6.03 включає в себе кодек h.264 з підтримкою CUDA (не працює з відеокартами архітектури Kepler і новіше, тобто 6хх і свіжіші серії відеокарт не підтримуються).
Для експорту в форматі mpeg, prores і інші апаратного кодування немає.
Версії Premiere і продуктивність
Новіші версії показують більш високу продуктивність. Тестуємо CC 7.2 vs СС 2015 9.1 на ефекті Lumetri, завантаживши один 1 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 хв. Проблема в тому, що якщо Premiere не встигає прочитати кадр, то затримка починає накопичуватися в геометричній прогресії, роблячи нормальну роботу неможливою.
Premiere і пам'ять:
Здавалося б, Premiere не такий критичний до розміру пам'яті, проте в деяких ситуаціях брак пам'яті може паралізувати роботу. Коли пам'яті мало, припустимо 4 Гб, адобовскіе програми можуть використовувати для своєї роботи максимум 2.5 Гб. Тобто, якщо запущений тільки Premiere, без After Effects і Photoshop, то в його розпорядженні в кращому випадку 2.5 Гб пам'яті. Цього достатньо для простого монтажу DSLR відео, але якщо проект ускладнюється, наприклад AVCHD 1080p50 зі стабілізацією Warp Stabilizer, шумопоглинання Neat Video, кольорокорекцією Lumetri, кодуванням в h.264, то комп'ютер починає серйозно подзавісать, та так, що миша пригальмовує. Якщо подивитися в такі моменти в диспетчер задач, стає видно що система йде в глибокий своп, хоча може бути вільно і 1 Гб пам'яті.
Вихід в такій ситуації може бути наступний: Edit / Preferences / Memory - Optimize rendering for: Memory. В крайньому випадку можна спробувати вимкнути опцію Maximum bit depth (при роботі на GPU ця опція включена завжди, не залежно від вибору користувача. При роботі на CPU її відключення негативно впливає на якість будь-якої корекції).
Експортувати при нестачі пам'яті можна через Adobe Media Encoder (кнопка Queue), після чого можна закрити Premiere.
Також можна відключити системну службу Superfetch, яка займається випереджаючим кешування, що при нестачі пам'яті безглуздо і шкідливо.
У нових версій Premiere малий обсяг фізичної пам'яті може бути проблемою, часто надходять скарги що "Premiere 2017 вилітає посеред експорту". У такій ситуації може допомогти істотне збільшення файлу підкачки. Оскільки активне використання файлу підкачки не може сприяти підвищенню продуктивності, ми це уникаємо. Спочатку можна спробувати оптимізувати ефекти, спробувати кодувати в більш простий кодек.
Кількість ядер процесора і hyperthreading на вимоги до пам'яті не впливають, в чому легко переконатися, відключаючи ядра в Task Manager. Якщо у вас багато системної пам'яті, не віддавайте її всю програмами adobe - при роботі активно кешуються дискові операції, і наявність вільної системної пам'яті може прискорити роботу.
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 і прописати вашу відеокарту там. Ситуація з Радеон аналогічна.
Потрібно розуміти що перекодування відеофайлів в MediaEncoder і експорт проекту з Premiere / AfterEffects це різні операції. При перерахунку відеофайлів з одного формату в інший render engine AME включає GPU прискорення при зміні розмірів / кадрової частоти відео, а якщо тільки робиться перерахунок в інший кодек, то нічого не прискорюється. Проект Premiere / AfterFX прораховується іншим чином: для цього AME завантажує в пам'ять ядро premiere / afterfx і GPU прискорення при прорахунку всіх ефектів і перетворень всередині проекту залежить не від Media Encoder а від налаштувань Premiere в проекті. Щоб при прорахунку в MediaEncoder працювало GPU прискорення на всіх ефекти Premiere, потрібно щоб опція Import sequences natively була вимкнена.
При правильному налаштуванні швидкість експорту з Premiere і AME версій 7.1 і новіше буде однакова.
Як контролювати роботу GPU
Перевірити як фактично використовується чіпсет відеокарти (GPU) можна програмою GPU-Z. GPU-Z показує галочками чи має ваша NVidia відеокарта CUDA, або ваш Radeon OpenCL, а під час рендери добре видно як завантажується роботою GPU вашої відеокарти (GPU Load). Будь ласка, враховуйте, що інші програми запущені в системі, а також плагіни (наприклад Magic Bullet Looks) можуть самостійно і незалежно від налаштувань програм Adobe навантажувати GPU і це теж буде відображатися.
У рядку Video Engine Load при експорті (кодуванні) відображається навантаження блоку nvenc , При роботі на таймлайн (декодування) навантаження блоку відповідає за декодування.
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, на жаль h264 кодек в QT низької якості. Також можна встановити зовнішні кодеки AfterCodecs засновані на 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
Єдиний сенс використовувати відеокарти серій Quadro в монтажі відео, це в разі 10-бітного матеріалу і 10-бітного монітора, наприклад HP Dreamcolor. В інших випадках Quadro недостатньо швидкі або занадто дорогі.
харчування
Карти NVIDIA GeForce при повному навантаженні споживають від 200 до 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 тисячі п'ятсот тридцять-шість 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.
Оптимізація роботи з дисками
Потрібно не допускати фрагментації робочих дисків, контролюйте її і при необхідності виконуйте дефрагментацію. Для Premiere розмістіть Media Cache на виділеному швидкому HDD, а краще SSD. Для Adobe After Effects включите Disc Cache в Preferences / Media & Disc Cache і розмістіть його на виділеному швидкому диску, в ідеалі SSD; так само дозвольте Disc Cache = Current Settings в Render Settings черзі рендеру Render Queue.
фотографии
Якщо ви завантажуєте в проект фотографії в ~ 20 мегапікселів, а далі працюєте з ними зменшивши наприклад до 25%, то краще попередньо зменшити їх в фотошопі. Таким чином кожна така операція з цим фото в Прем'єрі, кожен ефект буде виконуватися в 4 рази швидше.
Крім того, є обмеження GPU прискорення в Прем'єрі: для обробки кадру резервується ((ширина * висота) / 16,384) мегабайт пам'яті на відеокарті. Якщо отримане значення перевищує розмір доступної пам'яті, рендер Premiere перемикається на центральний процесор. Це означає, що на цьому кадрі GPU прискорення не буде працювати ні на одному ефекті. Для прикладу, розмір зображення з Canon 550D дорівнює 5184 × 3456 пікселів. В результаті розрахунку одержуємо 1,094MB, що фізично більше 1GB пам'яті на Quadro FX 3800.
CEPHtmlEngine
Цей процес - частина нового підходу Adoba до інтерфейсів: відповідає за роботу панелі Library (доступ до хмарним медіа-ресурсів) і за нове вікно запуску Premiere; кожні 5 секунд лізе в хмару і на процесорах без HT може забирати 30% швидкодії. Adobe пропонує лікувати кривої код AngularJS латками. Ми ж вважаємо, що код який тупо Полліт введення-виведення в багатозадачному системі не прийнятний в принципі, і зносимо папку CEPHtmlEngine, розташовану в c: \ Program Files \ Adobe \ Adobe Premiere Pro CC 2015 \
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