Nvidia顯示卡轉檔測試
來源檔案 | 轉換 | Q8200 | Q8200
開啟CUDA2.0 | PxVC1100 | PxVC1100
開啟CUDA2.0 | 720x480 MPEG2 4'10 | 1440x1080 HDV M2T | 5'35 | 5'57 | 3'37 | 4'17 | 720x480 MPEG2 4'10 | 1440x1080 BDMV | 5'39 | 5'59 | 3'32 | 4'34 | 720x480 MPEG2 4'10 | 1920x1080 BDMV | 7'06 | 7'31 | 4'18 | 4'54 | 720x480 MPEG2 4'10 | 1920x1080 MPEG4 AVC | 8'16 | 7'38 | 4'16 | 4'55 | 720x480 MPEG2 4'10 | 1440x1080 MPEG4 AVC | 6'51 | 6'44 | 3'30 | 4'11 | 1920x1080 MPEG
5'14 | 1440x1080 HDV M2T | 8'58 | 10'45 | 6'46 | 8'55 | 1920x1080 MPEG
5'14 | 1920x1080 BDMV | 7'08 | 8'28 | 4'05 | 5'35 | 1920x1080 MPEG
5'14 | 1920x1080 MPEG4 AVC | 15'23 | 13'23 | 3'59 | 5'38 | 1920x1080 MPEG
5'14 | 1440x1080 MPEG4 AVC | 13'37 | 12'18 | 6'42 | 8'47 | 1920x1080 MPEG
5'14 | 720x480 DVD MPEG2 | 6'35 | 8'01 | 6'04 | 5'51 |
結論是用顯卡轉檔還是無法達到此硬體轉卡的速度,
而且PxVC1100+顯卡CUDA還會比較慢~~原因下面有說明
CPU: Intel Core2 Quad Q8200
主機板: Asus P5Q3
系統RAM: 1GB
OS: XP SP3
顯示卡 微星9600GT 512MB
驅動程式: nVidia 公版 196.21
1. 在 TMPGEnc 4.0 XPress 中, CUDA 可以做 "濾鏡處理" 及 "硬體視訊解碼" 兩件事
2. 在 "硬體視訊解碼" 功能中, 僅對 MPEG 1/2 有效, 若有 H264/AVC 的檔案要轉檔, 在解碼部份, CUDA 幫不上忙.
以簡單的分類來說, 轉檔就是先解碼(Decode)後再編碼(Encode), 當然不是這麼單純, 但為了說明方便, 先如此假設.
在你附的"測試數據"中, 有時候純用 CPU 轉檔比用 CUDA 快是有可能的, 先決在 CPU 的能力若大於你用的顯卡能力, 但開 CUDA 時你應該會發現, CPU 使用率有下降, 但完成時間不見得有縮短, 猜測 9600 做轉檔時不如系統 Q8200 的速度, 亦或 TMPEGnc 未將 CUDA 做最佳優化. 若可能的話, 是否請你用別的軟體使用 CUDA vs CPU 做比較, 看看是否結論與 TMPGEnc 相同.
Pegasys 官網上有提到, CUDA 使用, 最佳是做了大量 濾鏡 處理時, 可以大幅超越純 CPU 的速度. (相關連結將後補)
另外一個疑惑是, SpursEngine + CUDA 的速度比純 SpursEngine 轉檔慢, 原因應該是, 當使用 CUDA 配合時, 會將解碼(Decode)部份由 CUDA 執行, 而編碼(Encode)用 SpursEngine, 所造成的時間延長是 CUDA decode 時較 SpursEngine 慢, 再加上, CUDA 解出來的資料要由 VGA bus 透過 PCI-E 再傳到 SpursEngine 的傳輸時間延遲. 以上是可能的因素.
所以在你要開啟 CUDA 的硬體解壓縮功能時會有上圖的警語, 就是在提醒, 開此功能不見得會比較快. 若全用 SpursEngine 自己做編解碼 (Decode+Encode), 在 Decode 好的資料, 在 SpureEngine 內部自己傳給 Encoder 做編碼, 不用再透過外部 BUS 傳輸解完的大量影像資料, 可以節省很多時間. |