天天看點

The Receiver 4.4 - 用戶端硬體解碼 - 大幅度提升3D顯示效能

在做3D/vGPU 這類桌面虛拟化項目的時候,除了對于伺服器端的CPU有硬性要求之外,還對前端裝置,如:PC、瘦客戶機的主頻有較高的要求,導緻對終端裝置的規格要求變得非常的高。

這是因為在3D/vGPU場景中,由于涉及到GPU實體解碼以及各種專用軟體的比對,通信的時候需要通過H.264壓縮技術來傳輸相關的圖像資訊。

而當伺服器端将桌面中圖像資訊傳輸到前端裝置進行重組并在螢幕上顯示的時候,就需要使用到前端裝置上的資源來完成相關工作,也就是我們平時說的解碼。而對于解碼通常有兩種方法:

CPU解碼

GPU解碼

由于涉及到圖形、圖像的解碼,GPU的效能一定會高于CPU。不過過去的Citrix用戶端Receiver由于隻支援對于H.264的CPU解碼,是以導緻對于前端裝置的性能,尤其是CPU性能有相當程度的要求。

不過随着Windows Receiver 4.4的釋出(Linux Receiver 13.x早已經支援),這種情況将發生根本性的改善,即Windows Receiver 4.4支援用戶端硬體解碼,簡單的說就是在3D場景中,可以使用用戶端的GPU資源來進行H.264的解碼即圖形、圖像的重組。

這樣必然帶來用戶端CPU需求的降低,同時提升圖形、圖像的顯示品質。

對此我們來做一個簡單的對比:

<a href="http://s1.51cto.com/wyfs02/M01/7A/58/wKioL1aoN_mxy9QEAAC23m6Ny4Y946.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M02/7A/58/wKioL1aoN_iDJE3cAABTKriASwI876.jpg" target="_blank"></a>

通過簡單的對比我們可以看到:

在使用新版Receiver之後,幀率提升了近一倍,從7到了15(請注意這裡的分辨率已經達到了4K級别,15的幀率已經非常可觀,由于人眼的識别在每秒不低于24幀的情況下就會看到是一個連貫的畫面,是以這種程度提高在很多場景中是會帶來顯示的質的飛越。)

終端裝置CPU使用率降低了近一半,從30降低到了13。

是以從這兩個3D項目中的兩個重要名額來看,一方面通過提升最終顯示的幀率而獲得更好的顯示效果,另一方面通過降低終端CPU的需求,使得更低端的裝置(需帶有GPU)也能作為終端進行使用。從整體上帶來極好3D的使用者體驗。

這裡如圖所示:該裝置支援 SD/HD/FHD/4K等幾種解碼規格

<a href="http://s3.51cto.com/wyfs02/M00/7A/59/wKiom1aoOzjTxBMgAAEsi1dzR8s498.png" target="_blank"></a>

由于有些裝置無法支援4K,是以隻會顯示有SD/HD/FHD。但對于絕大多數3D/vGPU項目來說,這個是夠用了,畢竟支援4K不僅裝置要支援,對于顯示器也是非常高的要求。

當然如果使用不支援4K的裝置而硬推4K的顯示的話,Receiver将會自動使用傳統的CPU解碼方式來完成圖像的顯示。

The Receiver 4.4 - 用戶端硬體解碼 - 大幅度提升3D顯示效能

你需要通過如下方式來啟用:

拷貝“C:\Programe File(x86)\Citrix\ICA Client\Configuration\receiver.adml” 到 “C:\Windows\PolicyDefinitions\”

“C:\Windows\PolicyDefinitions\zh-cn”

“C:\Windows\PolicyDefinitions\en-us”

三個目錄下。

拷貝“C:\Programe File(x86)\Citrix\ICA Client\Configuration\receiver.admx” 到 “C:\Windows\PolicyDefinitions\”

通路 本地政策編輯器 “Local Group policy editor”, gpedit.msc

在 Computer Configuration-&gt; Administrative Templates -&gt; Citrix Receiver -&gt; User Experience, 打開“Hardware Acceleration for graphics”

勾選“Enabled” ,點選 “Ok”

這樣完成之後,當你通過Receiver通路一個3D session的時候,檢查如***冊表資訊:

Registry Path: HKCU\Software\Citrix\ICA Client\CEIP\Data\GfxRender\&lt;session ID&gt;

Graphics_GfxRender_Decoder 和 Graphics_GfxRender_Renderer 的數值應該為2,代表GPU解碼,如果是 1 代表仍然為CPU解碼。

限制:

1. 不推薦為XA/XD 7.6 on Windows Server 2008 R2的使用者啟用硬體解碼,強行啟用可能帶來更差的使用體驗。

參考文檔:

Improved User Experience: Hardware Decoding for Citrix Windows Receiver

      本文轉自sesame.qian  51CTO部落格,原文連結:http://blog.51cto.com/kaiqian/1739138,如需轉載請自行聯系原作者

繼續閱讀