AE 渲染加速的一些方法

老看到有人問AE渲染好慢,該怎麼辦,這裡集合以前很多零碎的回答,以及部分高手的答案,以方便其他有需求的朋友們參閱。如有意見或建議,也方便留言討論。

首先是關於軟體工程方面的一些根源性解決辦法。

1、修改模板前,先看看工程的色彩位數是幾位的。

有些AE模板為了提高色彩質量或達到電影級效果,往往採用16、32位色彩模式,那計算量自然超大,如果使用者覺得沒這麼高要求,可以嘗試降低色彩位數,改成普通8位。這樣可以大大降低渲染數據量,起到提速的作用。如圖,在AE下看一下工程屬性,按需進行修改

PS:以前的回答中,WOO GUNS 的意見很重要,此方法的不足之處現在補上:

AE加大色彩深度就是為了獲取更細膩的色彩過度,有些微妙的色彩變化就全靠色彩深度來體現,如果修改色深,不但會出現色階,一些效果也是會消失的。特別是對3D光效來說,會有很大變化。

個人認為,對色深的取捨要相對來說,主要還是看設備性能 ,如果實在卡到沒法做,或輸出效率太低的程度,有時也只能忍痛割愛了。所以,修改色深後,一定要注意前後比對,看看是否有重大效果的損失。熟悉AE的可以手動補一下近似的效果。

2、花點時間,仔細檢查導入的素材和每個COMP的屬性。

a、看看是否有大量4K級別的素材,以及超大解析度的預合成COMP,這是拖慢渲染的一個重大指標。

b、檢查一下新替換的圖片。特別是JPG圖片,有沒有那種解析度不高,但體積很大的,這些圖片往往帶有大量的網路鏈接和重複的版權授權信息,無益於畫面質量,卻大大提高了數據處理量。

c、此外還有一些圖片解析度是超出視頻基準72像素點需求的,那些 150dpi 或 300~500dpi 解析度的文件很快就會用光你的內存,撐爆你的緩存。

d、再看看模板原始幀速率有沒有匹配和改善,比如你只需要25幀每秒的輸出,而模板卻都是30幀每秒的。如果不修改幀速率,就意味著你會多用去每秒5幀的計算量。而這些計算量只要修改COMP幀速率後,是可以有效避免的。

PS:修改幀速率不但能大大減少渲染量,還利於控制輸出文件的大小。比如30幀變成25幀後,每秒起碼少了5幀的空間佔用。很多不熟悉視頻制式或格式的新手們,大喊文件怎麼這麼大?上傳不了微信什麼的。這時減少幀速率也是可行的辦法,要求不高的話,一些慢速的視頻甚至減到每秒20幀也是沒有太大問題的。

3、很多AE模板會開啟大量的移動模糊效果,如覺得沒必要,關掉好了,可以明顯提速。此外,熟悉AE的同學還可以注意下攝像機的虛焦效果,雖然效果比較出色,但對於中低檔機器來說還是很耗費時間的。實在無法忍受慢速渲染時,可以適當降低一下虛焦範圍和模糊程度,此時也會有較大的速度改善。

4、有些模板為了保證版本間的通用性和便捷性,有意捨棄了一些高效的插件和效果模式,改為一些落後的或降維的表現方式,這也大大降低了模板的輸出效率。

比如可以用E3D的文字,只能用多層預渲染文字層來表現,包括陰影反射等等。。。原本E3D效果可調用CUDA加速渲染,現在就只能靠CPU硬懟了。

PS:對於這種降維模板,可以考慮改換成 E3D 文字或 Ray-traced 3D、C4D 文字。不但能充分利用CUDA的加速效果,還能簡化AE工程的複雜度。(適合熟悉AE的進階使用者。)

以上是一般AE工程中可選擇的加速選項,是否使用還是要看對最終效果的需求。如果都難以取捨,那就要在硬體上增加投入了。其實很多處於學習階段的同學,並不需要太高的效率。連操作和功能都還沒順利掌握,硬體效率再高也是有限的。在有限的條件下,一些硬體上的使用和設置也可以幫助改善一下。

5、AE緩存設置。(適用於老、舊、低性能電腦的用戶,也是唯一可能通過設置來提速的選項)

緩存檔最好設在SSD上(如果是 PCI-E 或 NVMe 的SSD當然是最好了),不然找個不參與素材讀取和系統運行的單獨硬碟也行。

PS:機器內存不夠,處理器頻率較慢,在一般簡單工程時可能影響不大,但是遇上複雜的,超多圖層的工程,就開始給你顏色看了。特別是預渲染較多的工程,那就完全要看硬體效率。這個建議其實是最無奈的辦法。AE本身是個大型軟體,還有眾多插件,用它幹活真的不是一般的遊戲機或辦公機能承受之重。學習的話不多說,但幹活出效率,的確是需要投入的。沒有投入,那還談什麼產出?

6、系統問題。

比如經常胡亂卸裝各版本AE、PR以及其它專業製作軟體,導致註冊表不完整,鏈接有誤。(有人從CS5開始可以一直裝到CC2018,還都不帶清理的。。。)

還有亂裝各類視音頻播放器,導致編碼庫、編碼器混亂(暴風、迅雷是最大的專業編碼器殺手)。還有就是 QuickTime 安裝不完整(QT不註冊,不看版本,AE CC需要7.5以上的版本。)都可能會造成AE渲染時出錯或降速。

PS1:關於 QuickTime 的 BUG。有人說自己的AE 無法輸出 QuickTime 格式文件,一渲染就提示錯誤,哪怕新裝系統都沒法解決。這裡有個網上的小經驗,打開我的電腦,看看裡面列出的磁碟是否都給重新命名過。很多人的磁碟從D盤開始到N盤,名字全是「新加卷」或「未命名」。然而這就是導致QT出錯的一個小BUG。建議把磁碟名稱都換成不同的稱呼,比如C盤為System,D盤為Admin,E盤為Files,F盤為Work,G盤為Back1。。。等等,而且最好是英文命名。原因我也不清楚,但有時這樣一改真的就好了。

PS2:順便提一下AE的幾個BUG。cc2015版以後,Adobe對中文支持方面越來越大意。不知道是因為 Win10 或者是其它支持問題。中文字體出錯一直沒解決。唯一的解決辦法就是刪除會出錯的字體。

與此相關的一點線索:一個是 Win10 系統字體衝突的原因,或者由於安裝了什麼附加字體而導致出現問題。個人覺得似乎和安裝 Office 的附加字體有點關聯。其次是安裝了某種中文輸入法,也會導致這種問題。但由於 Win10 一直在不斷升級,現在還不能確定以上推斷是否會在新的版本中得到改善。

7、關於適合AE的硬體配置

(最近網上很多新開課程的學生在問,也有很多不懂硬體配置的入行者在琢磨,更有很多Mac黨和Win黨在互懟。在此拋開這些,說一些常識上還算比較正確、中立的選項。之所以會列出這個答案,原因其實也很無奈,太多人連AE的基礎運行條件都不清楚,就急吼吼使上了,所以只好在此民科一下。)

a、關於CPU。其實AE也好,PR也好,或者PS之類,渲染上對其最有效的還是取決於CPU主頻。頻率越高越好,特別是對於AE cc 2014.2 版本以後來說,Adobe已經取消了默認設置中的多核渲染加速選項。所以不管是工作站還是遊戲機,默認渲染時,最多只能用到4個核心或線程的計算量。對此,只有主頻高了,才能加速渲染。(當然,對於工作站用戶,還有更多辦法,後面會提到。)

b、關於內存。AE的內存最好不要少於16G,否則任何辦法都提升不了效率。一般來說,AE的內存可以按照核心數量來計算。即一個核心或一個線程,對應2G內存。4核8線程的機器,以16G為標配;8核16線程,標配就是32G;16核32是64G,以此類推。(PS:之所以要這樣配,是因為只有達到8核16線程以上的機器,才有條件開多線程渲染,否則內存再多,渲染上也沒什麼太大區別,內存現在太貴了。)

c、關於顯卡顯存。AE、PR、PS現在都有CUDA加速的內置選項。當然,這個加速選項也是針對Nvidia的顯卡來說的。用AMD顯卡的還是要忍受一下加速的不明顯。不是說A卡不好,可能由於AMD的驅動一般開始時都不太穩定吧,老要靠什麼強化劑來提速,想來Adobe也等不起。所以Adobe還是基於較穩定的N卡來設計加速,這方面還真不能怪別人。那這裡就老有人會問,到底是使用Quadro的專業卡,還是用普通經濟的高性能遊戲卡。我的建議是遊戲卡。因為AE、PR、PS普通情況下,素材都是8bit位深的圖形圖像罷了,其實對雙精度的運算要求並不高,此時普通顯卡中的CUDA數量才是真正決定其效率的標準。同樣CUDA條件下,再考慮顯存的速度與大小,進行理智選擇。

d、關於硬碟。SSD應該是首選了。AE、RP、PS都是狂吃緩存的老饕。硬碟讀寫自然越快越好。這裡面可以選更好的 NVMe 型號的SSD,可以超出幾倍Sata SSD 的讀寫效率。也可以經濟點,組個機械磁碟陣列來用。看條件選擇吧。

PS:不差錢的情況下,以上當然是怎麼貴怎麼來,就不多說了。配置機器時可以參考以上先後順序,按照經濟條件有效配置。

8、關於AE開啟多核渲染或多線程渲染。

AE如果沒有開啟多核渲染,僅僅默認4核渲染,效率的確有限。然而開啟多核渲染只在超過4核8進程的機器,或者多CPU的機器才有效。可以看一下系統性能的提示,如果渲染時CPU性能已經達到100%或在7~80%的幅度了,那就不用再開多核渲染。如果CPU始終只有 2~30% 甚至只有 1~20% 的利用率,那就說明,你的機器還有很大的資源沒有開發。

a、開啟多核渲染。

開多核渲染需要進 Edit 菜單的 Preference 首選項修改。適合用於 cc2014 未升級的原始版本或更老的版本。如下圖 AE CC 2014 下的設置實例。

兩個勾先要打上,然後:第一個問號是問你要留幾個核心給其它軟體用,第二個問號是問每個參與渲染的核心要分配多少內存。這裡,最小值是1G(所以,一般內存不到16G的同學也就別考慮多核了)。最後一排顯示最後參與渲染的核心與線程數量。

PS:AE開多核渲染有時會長時間無效。雖然渲染開始後,任務列表裡多了N個進程,但沒多久,這些進程就都歸零了,直至渲染結束也不動一下,只剩AE主窗口的進程在2-30%上下的效率磨嘰,就像其餘CPU核心在強勢圍觀一個核心幹活。。。。。。具體原因不確定,但個人估計,是因為某些素材或插件獨佔進程的原因,導致其餘渲染進程無法繼續讀取數據,從而停止多核渲染功能。但在渲染序列幀時,還是比較有效的,往往可以100%開啟多核進程。但偶爾會發現渲染進程會無限制搶奪系統資源,連保留的核心也被用去渲染,如果內存不夠多,有可能導致機器死機或崩潰。(這種情況在Win10下會較常見。)

b、安裝 Script 渲染腳本 BG Render,開啟多進程渲染。

對於CC 2014.2 以上的AE,由於官方取消了多核功能,已不能通過設置來實現多核渲染了,不過之前 NoNo君 提供了一個方式,也很不錯。就是開多進程渲染,彌補了高版本的不足。

即安裝一個AE渲染腳本:BG Renderer.jsxbin ,這是個開發很早的腳本,但在 cc2018下也可完美運行。通過手動增加渲染進程的方式,提高AE渲染速度。具體方式可以百度一下BG Renderer,有詳細的視頻教程和下載。

這裡需要特別注意:這個插件只能用來渲染序列幀,不支持直接輸出視頻格式文件。同時也不支持中文。所以運行BG Render時,輸入輸出路徑都不可有中文路徑。即你的AE工程文件夾不能以任何中文方式命名,最好也不要有中文的文件名之類。安全點,工程內也不要用中文命名COMP或Layer。

PS:具體操作這裡暫時不多做描述,原因很鬱悶,突然發現 Win10 下這個插件時靈時不靈。曾經有過一次腳本無法使用,開啟渲染後,建立0 kb的文件頭後就死在哪裡了。好在不久後正好系統升級,本人手賤,重置 Win10 後,再安裝AE後也直接就可以用了。而且直到最近 Win10 1709 版本升級前還能用,但升級後沒機會使用。適逢前不久 AE cc2018 也有0.1的版本升級,結果突然發現又用不了。所以有點搞不懂狀況,最近工作有很忙,也抽不出時間來細細琢磨,就先擱在這兒吧,待有空再來解決。如果解決,這個方法應該是最省事的。

c、AE開啟多進程模式,分段渲染,或渲染序列幀。

這個方法其實也很簡單,只要開啟多個AE就行了,打開同樣的工程渲染硬懟!開啟多進程的方法如下:

右鍵點擊AE的快捷方式,在「目標」行的參數後面 加上「空格-m」,然後確定即可。

更改後,你會發現可以同時開啟運行好多個AE了。接下來的渲染方法有兩種:

一個是分段渲染,適合多工程、多輸出的情況,比如工程1用AE1來渲染,工程2用AE2來渲染等等。這個就不多說了,充分利用機器性能就可以。

一個是採用多機器方式,對單個工程輸出序列幀。AE會在多機模式下自動解決幀序列重複問題,跳過已經渲染好的序列幀,順序渲染未經渲染的視頻幀,該方法參照如下設置即可。

這裡要注意的是,一定要把 RenderSettings 設成多機模式,點擊前部的下拉菜單即可選擇。然後必須把 OutputModule 里的格式設成TGA、JPG或TIFF都可以,但一定要是序列幀模式。最後設置一下要存儲的目錄就好了。

PS:這個方法的唯一問題,就是開啟多個完整的AE,感覺上較為浪費資源。所以,又有了後面的開啟多AE渲染進程的方法。

d、開啟AE多進程渲染模式。渲染序列幀。(即本機開啟網路多機渲染模式)

前面說了開啟多個AE的方式,其實我們只是需要多個AE的渲染引擎就能解決問題。所以,稍微修改一下AE的快捷方式,就可以達成目的。先複製一個AE的快捷方式,然後只要在-m的後面添加 「空格」-re 即可。

確定後,再運行這個快捷方式,就會出現一個AE渲染引擎的界面,因為有了-m參數,所以可以按需求,開啟多個渲染引擎,如下圖:

點擊界面中的 File 文件菜單,會發現裡面有個 Watch Floder... 監視文件夾 的選項。點擊後,會出現一個文件夾選擇菜單,選擇某個文件夾後,就會出現一個小電視機的動畫畫面。它會每隔10秒自動搜索該文件夾下需要渲染的AE工程項目,如果有新的工程項目進入,那它就會按照工程中保存的文件格式和設置,自動開始渲染。

但要怎樣的工程才能讓這個引擎開始工作呢?

接下來,打開AE工程進行設置。打開工程後,先找到要進行渲染的工程,選擇 Export輸出,然後Add to Render Queue。接著設定好輸出模式和格式,以及輸出路徑。因為開啟了多個渲染引擎,所以還是選擇序列幀模式,這裡要注意的是,輸出路徑不要有中文路徑,實際上,包括AE工程也最好不要有中文路徑,以免某些無法渲染的意外。

接下來先存一下設置好輸出的工程,然後點選:

File菜單-->Dependencies打包文件--> Collect Files收集文件。

出現收集選項,參照以下順序選擇:

選項1,其實就是輸出工程中所有元素的路徑,因此並不需要把所有素材都複製一遍。所以很快就能打包好。

選項2,告知渲染引擎可以開始這個工程的渲染。

選項3,當渲染完成後,告知渲染引擎工作結束,不必重複渲染。

選項4,選擇參與渲染的機器數量,默認為5,說明可以同時運用5個渲染引擎。

(PS:一台12核24線程的工作站可以開到6個引擎,但是這樣對資源的消耗太大,可能引起系統的掛起或崩潰,一般能開到4個也就是極限了。)

選項5,選擇需要打包的目錄。

完成打包後,稍等數秒,就會看到之前開啟的渲染引擎自動掃描到了工程文件,並自動載入工程,開始渲染。

這裡我只開了兩個渲染引擎,但完全可以隨時根據系統狀況,開啟更多的渲染引擎,加入渲染序列。如果資源佔用過多,也可以選擇隨時結束某個引擎的工作,以便其它項目的即時操作。

以下是開啟兩個引擎後的資源狀況,看樣子還可以開啟一個,然後開個PS修修圖什麼的。。。

PS:這個方法也有個缺點,有時碰到中文名稱或當缺失字體、素材時,會有無法運行的情況出現。需要注意。

暫時寫到這兒,以上這些方法也都是針對個人用戶、小工作室或者單機而言,都是從最經濟的角度出發。而各種方法所涉及的細節問題,也會看討論情況更新。

當然,要是土豪有渲染農場之類的,那就不用在意了呦。

經驗文字,掛一漏萬,如有問題,有更好的方法,歡迎大家留言討論。


推薦閱讀:

TAG:AdobeAfterEffects | AfterEffects特效 | 特效技術 |