引用:
|
作者FabioNX
你提到的CPU使用率的問題 是軟體設計的問題 至少在XviD上是如此
snipped....
|
不過鵝平常都是跑linux/XWindow居多,看來鵝非拿Windows試試了

....
引用:
|
作者FabioNX
Athlon64 X2 似乎在兩個核心之間交換更改過的資料 都要先把資料寫入記憶體 不能直接由另一個核心的快取記憶體讀出來 因此比較浪費時間 因此CPU會在等資料的時候休息. 這個就看的出來 在我的電腦上DVD轉XviD在 first pass建立記錄檔的時候可以看到兩個核心都有9x%的使用率 但是無法長時間留在100%
|
您提的這點應該是舊PD的狀況(A社還以此批評I社是"假"雙核過

),鵝印象中X2系列inter core communication是透過on die SRU/CrossBAR進行的(請參考附檔,節自
AMD Processor Performance Evaluation Guide,BTW,A社多CPU的場合是透過hypertransport互聯的),至於C2D應該是透過shared L2/cache snoop進行的,不過鵝的經驗/專長算是偏資管/資工方面而非資科方面,說的不一定完全正確就是了,至於您提的"兩個核心都有9x%的使用率 但是無法長時間留在100%"或許不見得是CPU的問題,有可能真的是資料相依性造成一個core非得停下來等另一個core不可----畢竟不是每件事都能multi process/multi thread的

....
引用:
|
作者FabioNX
其實 要榨乾雙核心或是多核心的處理能力還有另一個方法 就是同時轉多個檔案 有幾個核心就同時轉幾個檔案 這樣 所有的核心都同時被使用 都可以到100%使用率 也可以盡量避免在不同核心之間進行資料交換
snipped....
|
鵝也想過這麼搞,不過這麼搞時各個source/destination的HD最好完全分開(i.e.同時轉兩個檔就須要四棵HD

),才能降低HD seek帶來的影響(免得得不償失),實在是有點麻煩,看來鵝還是想辦法在X86-64中DIY一個support multi thread的ffmpeg/transcode/x264試試好了


....