驚喜or失望?AMD首款視頻編碼插件評測
[泡泡網顯卡頻道 2009年7月17日]如今的GPU已經不再是單純的圖形運算芯片的代名詞,隨著GPGPU技術的發展,顯卡已經可以用來做更多本來只有CPU才能運算的事情。NVIDIA CUDA技術推出之后,應用非常廣泛,特別是視頻編碼領域,已經有多家業界大頭與NVIDIA合作,推出了基于CUDA技術的編碼軟件產品。這一切,ATI可以說是看在眼里,急在心頭!
事實上,AMD早在很久以前就宣布了類似于CUDA的技術,叫做Stream,簡單的說,該技術就是ATI顯卡的GPGPU通用計算技術,ATI Radeon系列顯卡(支持DX10或更高API標準的顯卡)通過Stream可以進行 通用計算,并不局限于圖形方面的運算。雖然也和部分廠商合作推出基于Stream技術的產品,但是表現都不怎么樣,導致AMD在這方面明顯落后于競爭對手,而NVIDIA也直擊其軟肋,近兩年來幾乎都在大勢宣揚他們的CUDA技術是多么的先進。
到底是AMD沒有做GPU通用計算的技術?還是,AMD不打算在GPU通用計算方向發展呢?對于很多讀者來說,這是一個難解的問題,然而如果我們從背后來分析這兩家公司,便可以得出一些答案。首先,NVIDIA是一家完完全全的GPU公司,至少到目前為止還沒有推出x86處理器的意向,所以NVIDIA大可毫無顧忌的宣揚他的GPU,并表示在計算機中,顯卡才是最重要的配件。
而AMD則不一樣,除了有GPU業務之外,還有CPU,這兩大業務的重要性根本沒有辦法分出高低。如果AMD天天宣傳其GPU非常強大的話,那么CPU的業務必然會受到影響;反之如果AMD天天都宣傳CPU重要的話,那么GPU的業務也會受到影響,所以當年AMD并購ATI,表面上看是一件好事情,而現在反而讓AMD高層感到十分為難,通用計算方面簡直就是被NVIDIA牽著鼻子走。
然而,筆者上個月在Twitter上發現AMD的催化劑產品經理Terry Makedon更新了一則消息,給他的關注者們推薦了一個測試版的AMD編碼插件,支持Adobe Premiere CS4編碼加速,并且采用GPU+CPU的聯合加速,立刻引起了筆者的興趣。
根據Terry Makedon的描述,使用該插件可以將Adobe Premiere視頻編碼的性能提升8倍,并且可以支持GPU+CPU聯合加速。由于該插件還處在測試版階段,所以目前AMD僅僅在其官方論壇提供了下載,鏈接如下:
http://forums.amd.com/amdlive/messageview.cfm?catid=366&threadid=114667
Adobe Premiere這個軟件對于視頻工作者來說一定不會陌生,這是一款視頻后期編輯軟件,可以用這款軟件對視頻進行各種特效處理、剪輯等,功能非常強大,在視頻領域的威望如同平面處理領域的Adobe PhotoShop。如果說NVIDIA合作的一些視頻編碼廠商都是業界大頭的話,那么Adobe無疑是業界巨頭。這個插件如果性能真的非常強大,那么AMD或許可以獲得一次揚眉吐氣的機會,至少在通用計算方面。
大家點擊上面的鏈接進入AMD官方論壇之后,就可以看到這個插件的簡要介紹。從帖子的介紹中可以看出,這是一款采用“ATI Stream”加速的視頻編碼插件。總所周知,ATI Stream技術就是ATI顯卡的GPGPU技術,和NVIDIA的CUDA從性質上是沒有什么區別的。
前面我們說過,AMD在通用計算技術方面近兩年來都沒有什么太大的建樹,一直是NVIDIA在主導,這種一家獨大的局面對任何一個消費者都并不是什么好事,所以筆者也迫切的希望AMD能拿出一款像樣的案例。本來上個月就打算對這款插件進行詳細的評測,但因為事務繁多,一直拖到了今天。
根據AMD論壇中提供的插件Release notes介紹,該插件主要有以下兩大功能:
1、Adobe Premiere MPEG-2格式視頻編碼以及LPCM/MPEG-2 layer 2音頻編碼加速;
2、Adobe Premiere H.264格式視頻以及AAC格式音頻編碼加速;
看來,目前該插件還沒有能夠支持VC-1高清視頻編碼加速以及其他一些格式的視頻編碼加速,不過這并不重要,總比以前沒有好很多了。

在Windows 7操作系統下安裝出現的錯誤報告
在這一份發行聲明文檔中我們還發現,該插件只能支持Windows Vista操作系統,Windows XP、Windows 7以及其他各個版本的操作系統都暫時不能支持,相信在未來的后續版本中,會提供更多操作系統的支持。
除此之外還需要注意的是,該插件只能支持Adobe Premiere Pro CS4 4.0.1以及Adobe Media Encoder CS4 4.0.1.078或之后的版本,本文測試采用Adobe Premiere 4.1以及Adobe Media Encoder CS4 4.0.2版本。
已知問題:
● 在進行MPEG-2藍光格式編碼加速時,導入1440x1080p 24 High Quality, HDTV 1080p 24 High Quality, HDTV 720p 24 High Quality這三種MPEG-2編碼藍光格式的視頻時,可能會出現錯誤,該問題將會在隨后的更新中修復。
● 進行H.264藍光格式編碼加速時,導入1440x1080p 23.976 High Quality藍光格式H.264視頻,會被當作1080i 29.97 High Quality進行回放。
● 有些時候在相同的設置下,可能會出現編碼后文件大小不同的情況,不過這個文件是沒有問題的,畫質方面也沒有什么差別。
● 視頻縮放的預設不能在編碼設置中保存。
● 某些時候選擇192kbps音頻編碼可能會生成128Kbps編碼。
● 當設置窗口大小減小時文字周圍的選擇標尺會被裁剪,未來的版本將提供更多的選項并將自動轉換成單選按鈕,方便使用。
● 安裝該插件,請務必記得卸載之前的版本,否則可能出現未知后果。
● 如果你的編碼要求視頻文件被縮放,那么性能會受到Premiere內置的scaler的影響,AMD正在尋找一個解決方案以實現最大化編碼器的能力,不用指定scaler是最好的選擇。
通過前面一頁的介紹,我們已經對AMD這次推出的這個插件有了一些簡單的了解。下面,我們即將通過實際的測試,來驗證這款插件的真實性能。
前面我們已經說到,這款插件的主要功能就是加速H.264以及MPEG-2的視頻編碼,用過Adobe Premiere的朋友就知道,Premiere的編碼完全是調用一個叫做Adobe Media Encoder的軟件來完成,而Premiere本身的功能僅僅是視頻編輯,和編碼基本扯不上關系。所以,本文我們就直接在Adobe Media Premiere CS4這款編碼軟件中進行測試。
值得一提的是,該款視頻編碼插件只能支持AMD平臺產品,筆者在Intel上安裝的時候,會提示該插件只能支持AMD平臺,并且會報錯。所以,本次測試也必須選擇AMD平臺。
● 測試平臺:

本次測試平臺我們選擇了當今比較流行的3A平臺,CPU和顯卡均采用了兩款以上,用以對比更換CPU或者顯卡對編碼性能的影響。操作系統采用的是Windows Vista SP1,完全符合發行聲明文檔中的要求。
● 測試流程
1、首先采用Athlon II X2 245搭配HD850顯卡,分別使用CPU軟件(即不選擇AMD加速)常規編碼H.264視頻、H.264藍光視頻、MPEG-2視頻以及MPEG-2藍光視頻,得出基準編碼性能;
2、采用Athlon II X2 245搭配HD850顯卡,分別編碼H.264視頻、H.264藍光視頻、MPEG-2視頻以及MPEG-2藍光視頻;
3、采用AMD Phenom II X4 955搭配HD4850顯卡,再次測試以上所有項目,對比CPU性能對編碼速度的影響;
4、采用AMD Phenom II X4 955搭配HD890顯卡,再次測試以上所有項目,對比GPU性能對編碼速度的影響;
5、采用AMD Phenom II X4 955搭配主板集成的HD 3300顯卡測試以上項目,再次對比GPU性能對編碼速度的影響;
6、將以上測試成績進行分類比較,得出最終結果。
我們本次測試采用的片源為之前我們經常測試N卡時使用的The Plush Life,該動畫由NVIDIA 公司Gelato 團隊的專職動畫師Timothy Heath創作,采用Maya Shave和Haircut渲染,用到了很多高級顯卡特效,經常被各大媒體用作評測視頻。本次,筆者使用的這段視頻長度為1分50秒,720P分辨率,MPG格式。我們主要是對該視頻進行重新編碼,來測試本次所需要的性能。
首先,我們來進行CPU軟解常規編碼測試,以下是測試結果:
● X2 245+HD4850常規編碼H.264——1440×1080P 23.96Fps High Quality
以上編碼設置的意思就是將視頻片源重新編碼成分辨率為1440×1080P,幀率為23.976幀每秒,質量為高的視頻,簡單理解就是倍線操作。使用CPU常規編碼,所花費的時間為5:50秒。
● X2 245+HD4850常規編碼H.264 Blue Ray——1440×1080P 23.96Fps High Quality
● X2 245+HD4850常規編碼MPEG-2——1920×1080P HDTV 29.97FPS High Quality
呃,這里非常對不起大家,由于筆者一時疏忽,搞忘了截圖,不過有成績記錄,花費時間為2分49秒。
● X2 245+HD4850常規編碼MPEG-2 Blue ray——1440×1080P 24FPS High Quality
● 性能成績曲線圖

注:上圖的曲線圖本身并無任何意義,四個點的值無任何關聯,大家只需要記住每個點的值,筆者這樣做也只是為了后文方便對比,曲線圖中數值的單位為秒。
前面我們說到,本次測試所采用的視頻片源長度為1:50秒,這樣看來,在常規編碼中,本文所測試的幾種方法都沒有辦法滿足實時編碼的需求。接下來,我們來看看使用AMD加速插件之后,性能會有多大的提升。
安裝好前面我們介紹的插件之后,如果想要使用AMD加速插件編碼,只需要在Adobe Media Encoder的輸出格式部分選擇AMD Fast xxxxxx即可,如下圖:
現在,我們還是來測試前一頁中測試的幾個內容,只是編碼輸出格式選擇AMD Fast xxxxxx,以開啟AMD加速插件。
● X2 245+HD4850 AMD加速插件編碼H.264——1440×1080P 23.96Fps High Quality
● X2 245+HD4850 AMD加速插件編碼H.264 Blue Ray——1440×1080P 23.96Fps High Quality
● X2 245+HD4850 AMD加速插件編碼MPEG-2——1920×1080P HDTV 29.97FPS High Quality
● X2 245+HD4850 AMD加速插件編碼MPEG-2 Blue ray——1440×1080P 24FPS High Quality
● 性能成績曲線圖(與常規編碼對比)

上面的曲線圖表就是使用AMD加速插件進行編碼與不使用AMD加速插件編碼的時間對比,顯然,使用AMD加速插件編碼所花費的時間要低很多,也就是說速度要快很多。特別是H.264的編碼,使用這款插件之后效率非常高,所花費的時間僅僅為CPU常規解碼的1/3甚至更低。
通過前面的測試,我們已經知道AMD這個插件確實有不小的性能提升,尤其是在H.264格式視頻的壓縮方面,性能提升幅度非常大。根據AMD的催化劑產品經理Terry Makedon在Twitter上的介紹,這款插件支持CPU&GPU聯合加速,那么更換CPU想必一定會帶來性能提升,到底是不是這樣呢?我們來試試看!下面,我們就將CPU更換成為四核心的Phenom x4 955來繼續測試。當然,我們這里就直接測試使用AMD加速插件進行編碼,常規編碼已經沒有絲毫競爭力,沒有測試意義了。
● X4 955+HD4850 AMD加速插件編碼H.264——1440×1080P 23.96Fps High Quality
● X4 955+HD4850 AMD加速插件編碼H.264 Blue Ray——1440×1080P 23.96Fps High Quality
● X4 955+HD4850 AMD加速插件編碼MPEG-2——1920×1080P HDTV 29.97FPS High Quality
● X4 955+HD4850 AMD加速插件編碼MPEG-2 Blue ray——1440×1080P 24FPS High Quality
● 性能成績曲線圖(與X2 245+HD4850加速插件編碼對比)

結果很明顯,CPU升級之后,同樣的編碼操作所花費的時間又有了很大幅度的降低,看來這款插件確實利用到了CPU加速,而且性能發揮非常不錯,對CPU性能潛力的挖掘非常透徹。
既然更高的CPU能獲得更好的編碼速度,那么性能更高的顯卡應該也不成問題,下面我們就在X4 955處理器平臺的基礎上,將顯卡更換為HD4890,看有沒有性能提升。
● X4 955+HD4890 AMD加速插件編碼H.264——1440×1080P 23.96Fps High Quality
● X4 955+HD4890 AMD加速插件編碼H.264 Blue Ray——1440×1080P 23.96Fps High Quality
● X4 955+HD4890 AMD加速插件編碼MPEG-2——1920×1080P HDTV 29.97FPS High Quality
● X4 955+HD4890 AMD加速插件編碼MPEG-2 Blue ray——1440×1080P 24FPS High Quality
● 性能成績曲線圖( 與X4 955+HD4850加速插件編碼對比)

可以看出,當顯卡更換成HD4890之后,性能根本沒有任何提升,一兩秒的時間差距完全在誤差范圍之內,這個結果筆者在測試之前并沒有想到,那么到底是什么原因導致了這樣的情況出現呢?我們繼續往下看!
從HD4850更換到HD4890,沒有性能上的提升,仔細一想還是可以理解的,因為HD4850和HD4890都采用800個流處理器單元,如果該插件僅僅只依靠流處理器單元的話,那么兩者性能沒有差距也算正常。為了驗證到底是不是這種情況,下面我們直接采用790GX主板上集成的HD3300顯示核心進行測試(只有40個流處理器)。如果性能有很大幅度的下降的話,那么證明該插件僅僅依靠流處理器數量,如果沒有下降的話,那......
● X4 955+HD3300 AMD加速插件編碼H.264——1440×1080P 23.96Fps High Quality
● X4 955+HD3300 AMD加速插件編碼H.264 Blue Ray——1440×1080P 23.96Fps High Quality
● X4 955+HD3300 AMD加速插件編碼MPEG-2——1920×1080P HDTV 29.97FPS High Quality
● X4 955+HD3300 AMD加速插件編碼MPEG-2 Blue ray——1440×1080P 24FPS High Quality
● X4 955+HD3300 AMD加速插件編碼MPEG-2 Blue ray——1440×1080P 24FPS High Quality
● 性能成績曲線圖(與X4 955+HD4890加速插件編碼對比)

從800個流處理器的HD4890,直接更換成只有40個流處理器的HD3300集成顯卡,如果依賴流處理器數量的話,性能下降應該非常明顯。然而,從測試的結果來看,雖然性能有少許下降,但是完全和顯卡的比例不符合(很有可能是受到集成顯卡占用了系統內存的影響而導致性能有小幅度的下降)。看到這里,我們應該已經可以初步得出結論,該插件與顯卡的流處理器數量根本沒有關系,當然和頻率、帶寬等更加沒有關系。
為了驗證這個結論,筆者換上了一塊N卡進行了一番測試,發現編碼時間也幾乎完全雷同,再一次證明該插件確實和顯卡沒有關系。
寫到這里,本文也就該告一個段落了,這是一篇很不好總結的文章,因為從我們的測試中,沒有看到ATI Stream的一點影子,反而是依靠CPU,性能有了很大的提升。
毋庸置疑的是,這個Adobe視頻編碼插件確實可以帶來編碼性能方面的提升,而同時沒有應用到ATI GPU進行加速,也是非常明顯的。從現在的結論來看,似乎和文章開篇Terry Makedon的Twitter中所說的“Use both the CPU&GPU”相矛盾。
在NVIDIA CUDA技術瘋狂的進攻之下,ATI的Stream通用計算技術一直顯得非常低調,正如我們文章前面所說,也沒有一個像樣的產品推出。而今天筆者滿懷希望的想要證實一下ATI Stream的最新良好進展,然而結果卻再一次讓我失望。
但是,今天的這個結論也可以從另一個角度來看。首先,在NVIDIA CUDA通用計算技術的猛烈進攻之下,ATI Stream卻遲遲沒有太大進展,而如今也許在改變策略,盡可能讓CPU表現出更多的優勢,再結合NVIDIA的唯GPU論,從側面證明CPU和GPU都非常重要的一個論點。其次,從本文的測試結果來看,CPU也的確沒有像NVIDIA所說的那樣,在高性能計算方面毫無用處;拋開其中的技術不談,AMD這一次確實是將CPU在特定應用中的性能發揮到了極致,或許這也是即將向NVIDIA大反擊的一個信號。

而筆者更加認為,目前NVIDIA和Intel兩大巨頭口水戰不斷,AMD表面上看起來由于產品線的關系只能靜觀其變,但在短期內同時向兩大巨頭反擊的可能性卻非常大。因為在PC中,CPU和GPU從真正意義上來講根本沒有辦法刻意的去談論誰重要與誰不重要的問題,如果能很好的將CPU與GPU的性能結合,其優勢才會真正體現出來。很顯然,AMD在這方面有先天的競爭優勢。
就在筆者準備截稿時,又收到了一條ArcSoft SimHD也開始支持ATI Stream技術,其性能又會怎么樣呢?筆者將會在近段時間內對其進行詳細的評測,請繼續關注泡泡網顯卡頻道。■
關注我們


