你提到的CPU使用率的問題 是軟體設計的問題 至少在XviD上是如此
我猜你用ffmpeg/x264應該是有用到 AVISynth 假如是這樣了話 那有一個核心會被AVISynth給佔了 另一個被ffmpeg/x264.exe使用 而ffmpeg/x264.exe需要的運算比較多 所以才會有這種現象
這在XviD 1.1.2 (XviD 1.1.2 不支援多核心) 上也會出現這樣的情況
我記得x264.exe支援multicore/multithread. 用 megui 設定應該會讓你看的到參數如何設定
Athlon64 X2 似乎在兩個核心之間交換更改過的資料 都要先把資料寫入記憶體 不能直接由另一個核心的快取記憶體讀出來 因此比較浪費時間 因此CPU會在等資料的時候休息. 這個就看的出來 在我的電腦上DVD轉XviD在 first pass建立記錄檔的時候可以看到兩個核心都有9x%的使用率 但是無法長時間留在100%
其實 要榨乾雙核心或是多核心的處理能力還有另一個方法 就是同時轉多個檔案 有幾個核心就同時轉幾個檔案 這樣 所有的核心都同時被使用 都可以到100%使用率 也可以盡量避免在不同核心之間進行資料交換 這在AMD 多CPU (K8) 的機器上應該特別有用 因為每個CPU都有自己的記憶體控制器, 都有自己的主記憶體
Intel Core2 Duo因為每個處理器要共享記憶體頻寬 這個方法所帶來的效能增進應該比較小
但是 用這個方法要注意的一點就是 每一份轉檔程式的記錄檔 (state file) 要分開 要不然程式會當掉
雙核處理器資料交換效率:
http://www.xbitlabs.com/articles/cp...r-analysis.html