渲染模式

01.視頻覆蓋:
  大概在1995年,當mpeg1(vcd)回放在pc上開始流行的時候,pc的處理能力還麼有強大到實時播放的地步。顯卡製造廠商適時的推出了"video overlay(視頻覆蓋)"的技術。它就是種在顯卡上用硬件完成同時顯示幾個視頻的功能(拉伸,顏色空間變換,等等...)的技術,這樣就可以在pc上流暢的播放動畫而不佔用cpu。視頻覆蓋的畫面質量事實上取決於顯卡硬件。我發現市面上的絕大部分的顯卡顯示視頻覆蓋質量都很不行。在視頻覆蓋上用視頻渲染技術的一個最大的關鍵就是在每個顯卡上只有一個視頻覆蓋 unit(單元). 這樣就迫切的需要多顯示器系統了。

02.Direct3D:
  Direct3D是微軟提供給程序員使用一個不斷進化的功能集合的DirectX庫的一部分。在新發布的direct9 中,微軟給出了一套新的功能,性能接近於覆蓋 suface(接口),但是沒那麼多限制。視頻渲染技術基於direct3d比視頻覆蓋提供了更好的圖像質量,還沒有視頻覆蓋單顯示器的麻煩。但是,不是所有的顯卡都支持這個技術, 還有一些根本不支持,很多不支持整套功能集。作爲一個一般的參考。

03.系統默認渲染器:
  當播放器用默認回放模式播放媒體文件的時候,在低於windows xp的所有windows系統上或者windowsxp的"vmr7", 用系統默認渲染器就意味着"標準覆蓋" 。

04.標準覆蓋渲染器:
  這是最老的視頻渲染技術了。在可用的時候它用到視頻覆蓋,當視頻不可用的時候就退回到純cpu控制視頻。純cpu控制就是說cpu替代了視頻覆蓋來幹這些事情。這對回放是個沉重的打擊(cpu更辛苦了),這個渲染的缺點是它不支持固定屏幕高寬比控制,硬件顏色控制(色調/飽和度/亮度/對比度/gamma(灰度))不可操作,而且抓圖結果會很很奇怪。

05.覆蓋混合渲染:
  同樣是運用視頻覆蓋技術,這個渲染器允許在那些支持顏色控制的硬件上進行顏色控制(色調/飽和度/亮度/對比度/gamma)。有些卡可能只支持顏色控制的一個子集(比如只有亮度)。這個渲染器也支持固定寬高比控制,只要媒體文件支持這個渲染器,缺點就是它返回到純cpu控制。當視頻覆蓋不可操作時,它就罷工了。在媒體模式的這個情況時候,就會回到標準覆蓋渲染。在dvd模式時,會報錯說視頻解碼器不能連接到覆蓋混合器。最後,這個渲染技術還是抓圖的效果不夠好。

06.視頻混合渲染器7(vmr7):
  這個渲染器是視頻覆蓋技術和direct3d技術的結合,它只在windows xp上有效,後來被vmr9取代了。windows media player 7-10使用這個技術.這個渲染技術默認使用視頻覆蓋。然而,如果它不可用了,它可以有限的使用direct3d。它的缺點是不可進行顏色控制,截屏還是不夠好。

07.視頻混合渲染器9(vmr9):
  這是最新的視頻渲染技術。它完全建築在direct3d上,需要direct9和最新的硬件。它可以提供最好的畫質(取決於渲染模式和顯卡)。vmr9支持硬件顏色操作(如果卡支持), 但是沒有gamma控制,因爲ms沒有提供。 vmr9也有寬高比控制。

08.EVR增強渲染模式(vista系統):
  Vista新引入了全新的EVR渲染器,微軟的技術文檔倒是把這個東東吹得很強勁,但是就目前來說問題還是不少。第一個就是字幕的問題,目前用EVR是無法在高速或者急速模式下把字幕顯示出來。那個EVR C/A 倒是能夠顯示字幕,不過dxva2.0就會失效,換句話說就無法開啓geforce8顯卡的硬件解碼功能。還有一個問題就是色階或者黑位問題,這個問題在VMR9下可以通過shader得到完美的解決方案,現在到了EVR,色階問題目前可以說幾乎毫無辦法,最多能用一下coreavc的fix color功能解決一下,但是還是有相當大的侷限性。

二:vm9支持3種特別的渲染模式:

A.vmr9:窗口:
  這種是最基本的模式,它向後兼容,但不支持幀抓屏,要提醒一點,這個模式在windows sp1和directx9b下有bug,在dvd菜單導航時只能用這個模式了。在windowsxp sp2和direct9c下這個bug沒了。

B.wmr9:窗口無轉換:
  這個模式比窗口模式高級點,用來截圖是最好的。

C.wmr9:渲染無轉換:
  這個可是vmr9中最複雜的渲染模式,它可以工作在direct3d獨佔模式,那就是整個機器被設定爲全屏,其他運行的程序不可以操作視頻硬件,在這個獨佔模式下,所耗cpu更少,分辨率越高,回放就更平滑。缺點是在獨佔模式下,整個機器都獻身給視頻回放了,你不能幹其他任何事情了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章