Blast Extreme是由VMware開發(fā)的新一代傳輸協(xié)議,在Horizon 7以及未來的版本中默認(rèn)使用。Blast Extreme協(xié)議的默認(rèn)配置在大多數(shù)用戶場(chǎng)景下可提供優(yōu)越的顯示效果和低帶寬占用,但在某些特定網(wǎng)絡(luò)條件和應(yīng)用要求下,需要對(duì)Blast Extreme進(jìn)行額外的性能調(diào)優(yōu)。本文主要對(duì)Blast Extreme協(xié)議進(jìn)行詳細(xì)闡述。
詳細(xì)解析
想要對(duì)Blast Extreme進(jìn)行優(yōu)化,首先要了解它的兩個(gè)可配置組件:傳輸協(xié)議和顯示協(xié)議編碼。
傳輸協(xié)議
Blast Extreme支持通過兩種傳輸協(xié)議在Client端和Agent端傳輸圖像變化:TCP和UDP
- TCP, Internet上常用的傳輸協(xié)議,通過內(nèi)置的數(shù)據(jù)完整性檢查來保證要傳輸?shù)臄?shù)據(jù)包沒有錯(cuò)誤。這種方式可靠性高,但要增加處理開銷。
- UDP,不存在上述的完整性檢查和控制,因此適合用來傳輸視頻流和線上游戲這類需要高效傳輸大數(shù)據(jù)量的內(nèi)容,可以接受偶爾有錯(cuò)誤數(shù)據(jù)包。
由于其高效和優(yōu)異性能,UDP是Blast Extreme使用的默認(rèn)傳輸協(xié)議,一般情況下不需要更改。但在以下兩種情況下,推薦把默認(rèn)傳輸協(xié)議改為TCP:
- 當(dāng)客戶端連接時(shí)需要通過基于TCP的SSL VPN,UDP數(shù)據(jù)包會(huì)被重新打包成TCP包時(shí)
- 當(dāng)客戶端通過廣域網(wǎng)連接并且延時(shí)超過250ms
對(duì)于除上述兩種情況以外的,推薦使用UDP協(xié)議以達(dá)到最好的用戶體驗(yàn)。另外,如果Blast Extreme在基于UDP建立初始連接時(shí)遇到問題,也會(huì)自動(dòng)切換成使用TCP協(xié)議進(jìn)行連接。
顯示協(xié)議編碼
第二種關(guān)鍵配置項(xiàng)是編解碼方式,用來對(duì)Blast Extreme傳輸圖像內(nèi)容進(jìn)行編碼和解碼。Blast Extreme現(xiàn)在支持四種編碼方式:JPG/PNG,H.264,HEVC(H.265)和最新的Blast Codec。
JPG/PNG
如名稱所示,JPG/PNG使用兩種圖片格式(JPG和PNG)來進(jìn)行圖像內(nèi)容的編解碼,這種格式在傳輸前使用圖片壓縮方式來減少內(nèi)容大小。
- JPG是一種有損壓縮格式,在壓縮時(shí)會(huì)按比例丟棄部分原始圖像數(shù)據(jù)。因此使用JPG進(jìn)行圖像壓縮后,無法進(jìn)行無損還原。
- PNG是一種無損壓縮模式,使用PNG格式進(jìn)行圖像壓縮后可進(jìn)行無損還原。
JPG/PNG編碼方式適用于典型的Windows和Linux應(yīng)用(例如微軟Office)。這種方式善于重現(xiàn)錯(cuò)綜復(fù)雜的字體和其它帶有很多細(xì)節(jié)的圖像內(nèi)容,包括靜態(tài)圖片和靜態(tài)3D模型。
JPG/PNG也可配置為使用無損模式。在無損模式編碼下,應(yīng)用和圖像進(jìn)行完全無損傳輸和顯示,但是使用無損模式會(huì)增加會(huì)話的帶寬占用。
Blast Codec
Blast Codec是Horizon新版本推出的最新編碼方式,未來JPG/PNG的替代者。Blast Codec相比其它編碼方式,可在提供高質(zhì)量用戶體驗(yàn)的同時(shí)顯著降低CPU和帶寬占用。這種編碼方式支持絕大部分的使用場(chǎng)景,包括但不限于典型Windows和Linux應(yīng)用、SaaS應(yīng)用、行業(yè)應(yīng)用和其它需要高質(zhì)量、低動(dòng)態(tài)的應(yīng)用(CATIA、Photoshop、AutoCAD。)
- Horizon 7.10新加入的功能, 未來隨著版本持續(xù)更新和完善。
- 如果帶寬占用和編解碼CPU占用是最重要的考慮項(xiàng),建議使用這種編碼方式。
H.264
H.264編碼,業(yè)界最常用的編碼模式,常被設(shè)計(jì)用于支持娛樂內(nèi)容,并在藍(lán)光電影中被人熟知。H.264編碼可以很好支持頻繁的屏幕變化和動(dòng)態(tài)圖像,比如視頻流,影視編輯和游戲。H.264還對(duì)于大多數(shù)的Windows、Linux和macOS應(yīng)用有很好的支持,所以H.264是Blast Extreme協(xié)議的默認(rèn)編碼格式。
但是相對(duì)于其它編碼,H.264需要消耗更多的處理能力來進(jìn)行編解碼,好在編解碼的工作可以從CPU卸載到GPU上。
- 客戶端層面,絕大多數(shù)2013年之后的終端設(shè)備都有硬件H.264解碼能力,包括手機(jī)和大部分瘦客戶機(jī)。
- 服務(wù)器端,H.264編碼可以卸載到NVIDIA Tesla GPU上來完成。
HEVC (High Efficiency Video Coding, H.265)
HEVC高效視頻編碼,又名H.265,是H.264的繼任者。在同樣圖像質(zhì)量的前提下,HEVC的壓縮率可比H.264高達(dá)50%,也就意味著在傳輸過程中更少帶寬占用。只是HEVC需要更高的CPU處理能力。
由此原因,HEVC編碼必須需要Esxi主機(jī)有NVIDIATesla GPU卡來卸載編碼工作。同樣客戶端也需要有顯卡支持H.265硬解碼(2015年之后的設(shè)備大部分支持)。
其它編碼選項(xiàng)
除上述四種編碼格式外,Blast Extreme還支持有額外的編碼選項(xiàng)來支持不同的場(chǎng)景和網(wǎng)絡(luò)條件。
H.264 High Color Accuracy高精色彩
如果用戶在使用H.264過程中遇到文字或圖像顯示清晰度(色彩精準(zhǔn)度)問題,Blast Extreme可以配置成使用High Color Accuracy高精色彩(HCA)。HCA會(huì)將色度抽樣由4:2:0變成4:4:4。這種模式會(huì)保留與色彩相關(guān)的所有信息。
默認(rèn)情況下,H.264使用4:2:0色度抽樣,保留的色彩信息只有4:4:4模式的四分之一,有可能會(huì)導(dǎo)致字體模糊和色偏,比如Excel或CAD等應(yīng)用中。如果遇到此類問題,建議啟用HCA模式,啟用HCA會(huì)額外占用5%的帶寬。另外部分終端設(shè)備的GPU可能不支持H.264 4:4:4模式解碼,解碼處理會(huì)落到CPU上,須注意。
Encoder Switch編碼器切換
Blast Extreme的另一個(gè)創(chuàng)新功能是編碼器切換。編碼模式可基于屏幕內(nèi)容在JPG/PNG、Blast Codec和H.264間動(dòng)態(tài)切換。
在這種模式下,傳輸靜態(tài)內(nèi)容時(shí)Blast Extreme會(huì)使用Blast Codec或JPG/PNG編碼;當(dāng)有視頻流出現(xiàn)時(shí),會(huì)自動(dòng)切換成H.264編碼。這個(gè)功能不但可提供更好的用戶體驗(yàn),而且可減少資源占用,提供更高的擴(kuò)展性,尤其是在沒有vGPU的情況下。
編碼切換是以顯示器為單位來計(jì)算的,如果客戶端同時(shí)有多個(gè)顯示器,則可根據(jù)不同顯示器的不同內(nèi)容來使用不同的編碼格式。
注意編碼器切換目前不支持HEVC和H.264 GPU卸載。
不同編碼格式的應(yīng)用場(chǎng)景
注:本文部分內(nèi)容摘自techzone.vmware.com