簡介
硬體解碼 生效的時候,系統是怎么運轉的呢?現在我們有三個處理器 ,CPU、GPU和APU(不是加速處理器是聲音處理器)。他們通過PCI/AGP/PCIE匯流排 交換數據。1.CPU從檔案系統 里讀出原始數據(DirectSHow的源濾鏡),分離出壓縮的視頻數據(分離器)。放在系統記憶體 中。GPU、APU發獃
2.CPU把壓縮音視頻數據交給GPU、APU, 這時匯流排上開始忙了,壓縮數據從系統記憶體拷貝到顯示卡上的顯存里和音效卡上的聲存 里(如果有的話)。
3.CPU要求GPU、APU開始硬體解碼,現在CPU進入發獃期,GPU、APU開始忙。當然CPU會定期查詢一下GPU、APU忙的怎么樣了。
4.GPU、APU開始用自己的電路解碼視頻數據(已經在顯、聲存里了),解壓後的數據還是放在顯聲存裡面。CPU繼續發獃。
5.音視頻數據剛解碼完成以後還不能立刻拿去播放,因為還需要後期處理,如deinterlace, 3:2pulldown,都卜勒效應,等等。GPU、APU再用自己的後期處理電路來進行處理。CPU還是發獃。
6.後期處理以後的未壓縮數據拿去播放, GPU再開始忙視頻的縮放,亮度,gamma等事情。CPU還是閒。
7.GPU、APU終於忙完了,下面的視頻數據在哪裡?通知CPU,GPU、APU先歇會。 CPU又開始忙了,回到第1步。
技術
中央處理器 的結構使得它能夠在短時間內完成各種各樣不同的指令。它能夠處理什麼指令主要由軟體限制。但是由於中央處理器的結構有些重複任務無法非常有效和迅速地被處理。由於軟體的原因處理器 最佳化的可能性有限。通過使用專門為這樣的重複任務設計的特殊硬體元件(晶片或者處理器)可以解決這個問題。這些特殊硬體元件不必像中央處理器那樣靈活,因此它們的硬體設計就已經顧及了最佳化處理這些特殊問題的需要,這樣一來中央處理器有時間去處理其它任務。
有些任務能夠通過把它們分解為上千小任務非常有效地被解決。比如 對一定的頻率帶做傅立葉變換或者渲染一小塊圖像。這些小任務可以互相之間不相關地平行計算。通過大量平行計算,即適用大量平行運行的小處理器來處理這些特殊任務總的計算速度可以大大提高。在許多情況下計算速度隨平行處理器的數量線性提高。比如在GeForce 200圖像卡上192個流處理器平行運行。
從有效利用能源的角度出發這樣的平行計算也有意義。能源使用隨平行處理器的數量線性提高,而隨處理器頻率成平方比提高。因此通過平行運算 處理器的頻率不必過高,使用的能量也比較少。
套用
上面可以看到,硬體解碼 生效的時候,CPU真的可以很閒,但是為了讓它生效,有些條件必須滿足。最關鍵的原因是,CPU->系統記憶體、GPU->顯示卡顯存APU->聲存比起來,PCI、AGP、PCIE匯流排 是龜速。PCI是133MB/S, AGP8X是2.1GB/S, PCIE16X是4GB/S, 而CPU-系統記憶體 ,GPU-顯存則快若干倍,APU->聲存快一些。有興趣的可以把不同時代的記憶體匯流排和AGP/PCIE匯流排速度進行一下對比。因為CPU和GPU互連的匯流排很慢,因此,視頻數據(無論是解壓前還是解壓後)一旦交給GPU、APU,GPU、APU就要負責把它處理完,直到最終顯示。如果在前面1-5步里有哪一步GPU、APU->聲存不能做或你不讓它做,視頻硬體解碼就不生效,CPU要負責。
當然,你可能會問,也許CPU很慢,說不定在龜速匯流排上傳輸數據,GPU、APU分擔一部分工作,還是比全部CPU做要快呢?也許如此,但在Directshow架構里,代表視頻數據處理 各環節的濾鏡 (分離器,解碼器 ,後期處理,渲染器)需要協商出一個大家都接受的視頻數據存儲方式,如果某個濾鏡說我只能在系統記憶體里玩,大家都得要在記憶體里玩,GPU\APU和顯聲存 只好放棄。
計算機顯示使用硬體加速會快些,但會在投影儀或截圖時發現顯示區是黑的,這時就要關閉硬體加速(硬體加速反方向操作)。步驟是:
XP更改硬體加速:
顯示卡 :右擊桌面 --顯示屬性--設定標籤中的高級--疑難解答--把硬體加速滑塊從“無”拖動到“全”
聲音:打開“控制臺 ”上的 聲音及多媒體屬性。
在“音頻”選項卡上的“錄音”下的“默認設備”列表中,單擊想使用的錄音設備,然後單擊“高級”。
在“高級音頻屬性”對話框中,可以給聲音硬體加速和音頻速率轉換配置性能設定
Windows Vista 下,更改顯示卡硬體加速:右鍵單擊桌面--> 個性化--> 顯示屬性--> 高級設定--> 疑難解答--> 更改設定、音效卡則是默認打開。無法更改。
注意:
1.要支持硬體加速有以下幾個要求:
一是必須硬體上支持硬體加速
二是驅動程式必須升級到最新版本
三是你想加速的軟體如遊戲必須支持硬體加速
2.默認情況下Vista的硬體加速全開,但“更改設定”這一項需要驅動支持,否則將是灰色不可選,這時可嘗試進顯音效卡卡的控制中心去修改(如ATI、NVIDIA、Realtek、IDE)或下載最新的驅動程式 。
另一種臨時解決方案是:
(1.) 下載顯示卡驅動 時候,不要下載for vista 的驅動,選擇for XP
(2.) 安裝的時候會出現錯誤提示,這時,先退出安裝,轉到下載的驅動檔案,右鍵單擊,選擇屬性--兼容性 ,在兼容性選項選擇XP SP2,這時就可以順利安裝了。
(3.) 裝完重啟,轉到調節顯示卡硬體驅動那裡,按鈕已經可以選擇,可以調節。但缺點是可能會喪失Aero等功能。
3D加速是什麼意思
3D加速的分類
3D硬體加速:是指借用顯示卡 的DirectX或OpenGL加速,一般需要顯示卡支持。3D軟體加速:是指借用CPU加速,效率較低。