引用:
作者vxr
樓主講的是decoding部分..
需要依靠的是一些免費的3rd party
這些3rd party提供的decoder能提供優勢性的硬體資源利用...
nVIDIA solution: LAV Filters, nevcairiel開發針對CUDA最佳化的decoder..
AMD solution: LAV Filters, nevcairiel已經試著對AMD提供兩種模式選擇..
(效能稍微降低的copyback(因為他需要回拷framebuffer), 以及native mode)
Intel solution: LAV Filters(Intel QS API integrated)/Intel QuickSync Decoder, 由Intel的工程師開發的QS最佳化solution...
目前上述是最好的solutions...
|
LAV Filters 確實是目前玩硬解的好方案,不過由於其硬解使用 DXVA2,XP 無法支援,必須在 Vista or Win7 下才能使用。
DXVA2 (native) 為一傳統硬解,傳統硬解限定部分渲染器 (XP:Overlay、VMR7/9;Vista & Win7:EVR系),GPU 處理完後直接丟給渲染器輸出,中間路徑不允許其他後處理,如字幕插件等濾鏡一律失效。
Intel QuickSync、NVIDIA CUVID 和 DXVA2 (copy-back) 為非傳統硬解,可搭配任何渲染器,支援任何後處理濾鏡。原理是 GPU 解碼完後將數據丟回系統 RAM,而非直接丟給渲染器,因此傳統硬解上的限制便消失了。
當然非傳統硬解有其劣勢,GPU 須將數據從顯卡 RAM 搬回系統 RAM,低階卡往往無法負荷。數據拉回系統 RAM 後經過濾鏡後處理,傳給渲染器時還是得再搬回顯卡 RAM 上,CPU 使用率因此上升了 (但依然較純軟解低)。