基于虛擬化技術(shù)的圖形顯示方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種基于虛擬化技術(shù)的圖形顯示方法及裝置,包括:在確定出虛擬機(jī)中運(yùn)行的三維圖形數(shù)據(jù)不需要立即發(fā)送時(shí),將所述圖形數(shù)據(jù)分別歸類為指令數(shù)據(jù)和紋理數(shù)據(jù);分別對(duì)所述指令數(shù)據(jù)和紋理數(shù)據(jù)進(jìn)行壓縮;以及向瘦客戶機(jī)發(fā)送壓縮后的指令數(shù)據(jù)和紋理數(shù)據(jù)。從而解決實(shí)現(xiàn)虛擬化三維圖形API重定向時(shí),虛擬機(jī)和瘦客戶機(jī)之間的網(wǎng)絡(luò)傳輸數(shù)據(jù)量大,帶寬資源利用率低的問題。
【專利說明】基于虛擬化技術(shù)的圖形顯示方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,尤其是涉及一種基于虛擬化技術(shù)的圖形顯示方法及
目.0
【背景技術(shù)】
[0002]虛擬化三維圖形應(yīng)用程序編程接口(英文-Applicat1n ProgrammingInterface,縮寫:API)重定向,是指將虛擬機(jī)中用于運(yùn)行的三維圖形程序的API,通過網(wǎng)絡(luò)重定向到瘦客戶機(jī)上,運(yùn)用瘦客戶機(jī)的顯卡等設(shè)備進(jìn)行渲染顯示的過程。目前,實(shí)現(xiàn)虛擬化三維圖形API重定向的方案有虛擬機(jī)程序(英文:virtual machine library,縮寫:VMGL),Virtual BOX, VMware Virtual GPU,Xen 等。其中,以 VMGL 和 Virtual BOX 是較為通用的技術(shù)方案。采用VMGL和Virtual BOX,實(shí)現(xiàn)虛擬化三維圖形API重定向時(shí),需要將原來在本地執(zhí)行的代碼重定向到遠(yuǎn)程(如虛擬機(jī))執(zhí)行,涉及大量數(shù)據(jù)的復(fù)制和傳輸,以及頻繁穿越虛擬機(jī)各個(gè)層次,開下較大。由于三維圖形API重定向的數(shù)據(jù)傳輸占用帶寬過大,容易導(dǎo)致瘦客戶機(jī)顯示三維圖像的時(shí)候卡頓現(xiàn)象嚴(yán)重,或者降低數(shù)據(jù)質(zhì)量導(dǎo)致畫面模糊等?;诖?,提出下述兩種解決方式:
[0003]第一種方式:域間通信技術(shù),服務(wù)器開啟多個(gè)虛擬機(jī)的時(shí)候,對(duì)不同虛擬機(jī)建立共享緩存,不同的虛擬機(jī)進(jìn)行數(shù)據(jù)通信和數(shù)據(jù)交換的時(shí)候,可以不用發(fā)送相同的數(shù)據(jù),而是從共享緩存中讀取相應(yīng)的數(shù)據(jù)。但是該種方式主要用于改善不同虛擬機(jī)之間數(shù)據(jù)通信的帶寬占用,無法解決虛擬機(jī)和瘦客戶機(jī)之間的網(wǎng)絡(luò)數(shù)據(jù)傳輸。
[0004]第二種方式:懶惰遠(yuǎn)程過程調(diào)用,是指盡可能地延遲遠(yuǎn)程調(diào)用的執(zhí)行,直到不能推遲為止,通過累積多個(gè)遠(yuǎn)程調(diào)用一次性發(fā)送,有效地減少了遠(yuǎn)程調(diào)用的頻率。但是該方法僅僅是減少了發(fā)送的頻率,并沒有減少實(shí)際傳輸?shù)臄?shù)據(jù)量,因此對(duì)帶寬的優(yōu)化效果有限。
[0005]綜上所述,還有提出一種可行的方案,來解決實(shí)現(xiàn)虛擬化三維圖形API重定向時(shí),虛擬機(jī)和瘦客戶機(jī)之間的網(wǎng)絡(luò)傳輸數(shù)據(jù)量大,帶寬資源利用率低的問題。
【發(fā)明內(nèi)容】
[0006]本發(fā)明提供了一種基于虛擬化技術(shù)的圖形顯示方法和裝置,用于解決實(shí)現(xiàn)虛擬化三維圖形API重定向時(shí),虛擬機(jī)和瘦客戶機(jī)之間的網(wǎng)絡(luò)傳輸數(shù)據(jù)量大,帶寬資源利用率低的問題。
[0007]一種基于虛擬化技術(shù)的圖形顯示方法,包括:
[0008]在確定出虛擬機(jī)中運(yùn)行的三維圖形數(shù)據(jù)不需要立即發(fā)送時(shí),將所述圖形數(shù)據(jù)分別歸類為指令數(shù)據(jù)和紋理數(shù)據(jù);
[0009]分別對(duì)所述指令數(shù)據(jù)和紋理數(shù)據(jù)進(jìn)行壓縮;以及
[0010]向瘦客戶機(jī)發(fā)送壓縮后的指令數(shù)據(jù)和紋理數(shù)據(jù)。
[0011]將所述圖形數(shù)據(jù)歸類為指令數(shù)據(jù),包括:
[0012]確定獲得的三維圖形數(shù)據(jù)的屬性標(biāo)識(shí);
[0013]在所述屬性標(biāo)識(shí)表征的是對(duì)紋理數(shù)據(jù)進(jìn)行操作的指令時(shí),確定該屬性標(biāo)識(shí)對(duì)應(yīng)的三維圖形數(shù)據(jù)是指令數(shù)據(jù);
[0014]將所述圖形數(shù)據(jù)分別歸類為紋理數(shù)據(jù),包括:
[0015]確定獲得的三維圖形數(shù)據(jù)的屬性標(biāo)識(shí);
[0016]在所述屬性標(biāo)識(shí)表征的是三維圖形的像素?cái)?shù)據(jù)時(shí),確定該屬性標(biāo)識(shí)對(duì)應(yīng)的三維圖形數(shù)據(jù)是紋理數(shù)據(jù)。
[0017]對(duì)所述指令數(shù)據(jù)進(jìn)行壓縮,包括:
[0018]去除所述指令數(shù)據(jù)中的重復(fù)指令;
[0019]將去除重復(fù)指令后的指令數(shù)據(jù),按照設(shè)定方式進(jìn)行壓縮。
[0020]一種基于虛擬化技術(shù)的圖形顯示方法,包括:
[0021]接收虛擬機(jī)發(fā)送的壓縮后的指令數(shù)據(jù)和紋理數(shù)據(jù);
[0022]分別對(duì)接收到的指令數(shù)據(jù)和紋理數(shù)據(jù)進(jìn)行解壓縮;
[0023]將解壓縮后的指令數(shù)據(jù)和紋理數(shù)據(jù)發(fā)送給用于進(jìn)行三維程序的渲染和顯示的數(shù)據(jù)顯示模塊。
[0024]對(duì)接收到的指令數(shù)據(jù)進(jìn)行解壓縮,包括:
[0025]對(duì)接收到的指令數(shù)據(jù),按照設(shè)定方式進(jìn)行解壓縮。
[0026]一種基于虛擬化技術(shù)的圖形顯示裝置,包括:
[0027]分類模塊,用于在確定出虛擬機(jī)中運(yùn)行的三維圖形數(shù)據(jù)不需要立即發(fā)送時(shí),將所述圖形數(shù)據(jù)分別歸類為指令數(shù)據(jù)和紋理數(shù)據(jù);
[0028]壓縮模塊,用于分別對(duì)所述指令數(shù)據(jù)和紋理數(shù)據(jù)進(jìn)行壓縮;
[0029]發(fā)送模塊,用于向瘦客戶機(jī)發(fā)送壓縮后的指令數(shù)據(jù)和紋理數(shù)據(jù)。
[0030]所述分類模塊,具體用于確定獲得的三維圖形數(shù)據(jù)的屬性標(biāo)識(shí);在所述屬性標(biāo)識(shí)表征的是對(duì)紋理數(shù)據(jù)進(jìn)行操作的指令時(shí),確定該屬性標(biāo)識(shí)對(duì)應(yīng)的三維圖形數(shù)據(jù)是指令數(shù)據(jù);
[0031]所述分類模塊,具體用于確定獲得的三維圖形數(shù)據(jù)的屬性標(biāo)識(shí);在所述屬性標(biāo)識(shí)表征的是三維圖形的像素?cái)?shù)據(jù)時(shí),確定該屬性標(biāo)識(shí)對(duì)應(yīng)的三維圖形數(shù)據(jù)是紋理數(shù)據(jù)。
[0032]所述壓縮模塊,具體用于去除所述指令數(shù)據(jù)中的重復(fù)指令;將去除重復(fù)指令后的指令數(shù)據(jù),按照設(shè)定方式進(jìn)行壓縮。
[0033]種基于虛擬化技術(shù)的圖形顯示裝置,包括:
[0034]接收模塊,用于接收虛擬機(jī)發(fā)送的壓縮后的指令數(shù)據(jù)和紋理數(shù)據(jù);
[0035]解壓模塊,用于分別對(duì)接收到的指令數(shù)據(jù)和紋理數(shù)據(jù)進(jìn)行解壓縮;
[0036]顯示模塊,用于將解壓縮后的指令數(shù)據(jù)和紋理數(shù)據(jù)發(fā)送給用于進(jìn)行三維程序的渲染和顯示的數(shù)據(jù)顯示模塊。
[0037]所述解壓模塊,具體用于對(duì)接收到的指令數(shù)據(jù),按照設(shè)定方式進(jìn)行解壓縮。
[0038]通過采用上述技術(shù)方案,在需要將虛擬機(jī)中運(yùn)行的三維應(yīng)用程序所顯示的圖形數(shù)據(jù)通過發(fā)送給瘦客戶機(jī)顯示時(shí),將三維圖形數(shù)據(jù)做以區(qū)分,分為指令數(shù)據(jù)和紋理數(shù)據(jù),然后分別對(duì)指令數(shù)據(jù)和紋理數(shù)據(jù)進(jìn)行壓縮后再發(fā)送給瘦客戶機(jī),從而解決實(shí)現(xiàn)虛擬化三維圖形API重定向時(shí),虛擬機(jī)和瘦客戶機(jī)之間的網(wǎng)絡(luò)傳輸數(shù)據(jù)量大,帶寬資源利用率低的問題。
【專利附圖】
【附圖說明】
[0039]圖1為本發(fā)明實(shí)施例提出一種基于虛擬化技術(shù)的圖形顯示方法流程圖;
[0040]圖2為本發(fā)明實(shí)施例提出一種基于虛擬化技術(shù)的圖形顯示方法流程圖;
[0041]圖3為本發(fā)明實(shí)施例提出一種基于虛擬化技術(shù)的圖形顯示裝置結(jié)構(gòu)組成示意圖。
【具體實(shí)施方式】
[0042]本發(fā)明實(shí)施例提出的技術(shù)方案中,在需要將虛擬機(jī)中運(yùn)行的三維應(yīng)用程序所顯示的圖形數(shù)據(jù)通過發(fā)送給瘦客戶機(jī)顯示時(shí),將三維圖形數(shù)據(jù)做以區(qū)分,分為指令數(shù)據(jù)和紋理數(shù)據(jù),然后分別對(duì)指令數(shù)據(jù)和紋理數(shù)據(jù)進(jìn)行壓縮后再發(fā)送給瘦客戶機(jī),從而解決實(shí)現(xiàn)虛擬化三維圖形API重定向時(shí),虛擬機(jī)和瘦客戶機(jī)之間的網(wǎng)絡(luò)傳輸數(shù)據(jù)量大,帶寬資源利用率低的問題。
[0043]下面將結(jié)合各個(gè)附圖對(duì)本發(fā)明實(shí)施例技術(shù)方案的主要實(shí)現(xiàn)原理、【具體實(shí)施方式】及其對(duì)應(yīng)能夠達(dá)到的有益效果進(jìn)行詳細(xì)地闡述。
[0044]本發(fā)明實(shí)施例提出一種基于虛擬化技術(shù)的圖形顯示方法,如圖1所示,其具體處理流程如下述:
[0045]步驟11,獲得虛擬機(jī)中運(yùn)行的三維圖形數(shù)據(jù)。
[0046]可以通過對(duì)虛擬機(jī)中運(yùn)行的三維圖形數(shù)據(jù)進(jìn)行截取,獲得虛擬機(jī)中運(yùn)行的三維圖形數(shù)據(jù)。
[0047]步驟12,判斷獲得的三維圖形數(shù)據(jù)是否需要立即發(fā)送。如果判斷結(jié)果為是,則執(zhí)行步驟13,反之,如果判斷結(jié)果為否,執(zhí)行步驟14。
[0048]首先,將在虛擬機(jī)中獲得的三維圖形數(shù)據(jù)存儲(chǔ)在緩存區(qū)中。并獲得和三維圖形數(shù)據(jù)對(duì)應(yīng)的指令。對(duì)獲得的每條指令進(jìn)行判別,根據(jù)判斷結(jié)果確定獲得的三維圖形數(shù)據(jù)是否需要立即發(fā)送。
[0049]其中,若是三維應(yīng)用程序發(fā)出的刷新指令,則需要將目前存儲(chǔ)在緩存區(qū)中所有的數(shù)據(jù)全部發(fā)送出去。刷新指令是指應(yīng)用程序?qū)⒕彺鎱^(qū)中的數(shù)據(jù)全部發(fā)送給顯卡并進(jìn)行渲染和繪圖的指令,也就是說,并不是沒有數(shù)據(jù)了才刷新,而是程序認(rèn)為應(yīng)該刷新就會(huì)刷新,例如某張圖片已經(jīng)制作完成,可以進(jìn)行顯示,此時(shí)就可以進(jìn)行刷新。又如某個(gè)場景可能包括五張圖片,如果繪制好五張圖片中的一張,也可以進(jìn)行刷新。這些三維圖形數(shù)據(jù)會(huì)根據(jù)刷新指令發(fā)送給瘦客戶機(jī)的顯卡進(jìn)行顯示。本發(fā)明實(shí)施例提出的技術(shù)方案中,在虛擬機(jī)中獲得這些三維圖形數(shù)據(jù),則相應(yīng)地,在獲得刷新指令時(shí),才將獲得的三維圖形數(shù)據(jù)發(fā)送給瘦客戶機(jī)。
[0050]步驟13,發(fā)送獲得的三維圖形數(shù)據(jù)。
[0051]在確定出獲得的三維圖形數(shù)據(jù)需要立即發(fā)送時(shí),則可以將獲得的三維圖形數(shù)據(jù)進(jìn)行打包,基于設(shè)定的協(xié)議發(fā)送給瘦客戶機(jī)。
[0052]獲得的三維圖形數(shù)據(jù)存儲(chǔ)在緩存區(qū)中,根據(jù)獲得的相應(yīng)指令,在確定出需要將緩存區(qū)中的三維圖形數(shù)據(jù)發(fā)送給瘦客戶機(jī)的指令時(shí),例如接收到刷新指令,則將緩存區(qū)中的三維圖形數(shù)據(jù)基于傳輸控制協(xié)議(英文-Transmiss1n Control Protocol,縮寫:TCP),形成TCP數(shù)據(jù)包,基于TCP/IP協(xié)議將形成的TCP數(shù)據(jù)包發(fā)送給瘦客戶機(jī)。
[0053]步驟14,在確定出虛擬機(jī)中運(yùn)行的三維圖形數(shù)據(jù)不需要立即發(fā)送時(shí),將圖形數(shù)據(jù)分別歸類為指令數(shù)據(jù)和紋理數(shù)據(jù)。
[0054]在虛擬機(jī)中獲得的三維圖形數(shù)據(jù)存儲(chǔ)在緩存區(qū)中,在確定出虛擬機(jī)中運(yùn)行的三維圖形數(shù)據(jù)不需要立即發(fā)送時(shí),根據(jù)三維圖形數(shù)據(jù)的屬性標(biāo)識(shí),將圖形數(shù)據(jù)分別歸類為指令數(shù)據(jù)和紋理數(shù)據(jù)。
[0055]其中,紋理數(shù)據(jù)可以是三維圖形的像素?cái)?shù)據(jù),屬性包括維度、位置、大小等,具體的數(shù)據(jù)可以認(rèn)為是每個(gè)像素點(diǎn)的像素。指令數(shù)據(jù)是指對(duì)紋理數(shù)據(jù)的操作。例如三維物體繪制、曲面繪制、坐標(biāo)變換、投影變換等。
[0056]通過應(yīng)用程序所要顯示的物體可以稱之為一個(gè)對(duì)象。一個(gè)對(duì)象在初始化的情況下,一般會(huì)包含比較多的紋理數(shù)據(jù),后續(xù)可以通過旋轉(zhuǎn)、移動(dòng)等指令數(shù)據(jù)進(jìn)行操作,以提升圖像顯示的流暢性。
[0057]步驟15,分別對(duì)指令數(shù)據(jù)和紋理數(shù)據(jù)進(jìn)行壓縮。
[0058]在對(duì)指令數(shù)據(jù)進(jìn)行壓縮時(shí),需要去除指令數(shù)據(jù)中的重復(fù)指令,將去除重復(fù)指令后的指令數(shù)據(jù),按照設(shè)定方式進(jìn)行壓縮。
[0059]由于三維圖形數(shù)據(jù)中的指令數(shù)據(jù)是一種狀態(tài)機(jī)類的指令數(shù)據(jù),也就是說如果不是切換紋理數(shù)據(jù)的指令的話,連續(xù)的指令數(shù)據(jù)都是針對(duì)同一個(gè)紋理數(shù)據(jù)進(jìn)行的,因此指令數(shù)據(jù)中存在冗余度,本發(fā)明實(shí)施例提出的技術(shù)方案中,將獲得的指令數(shù)據(jù)進(jìn)行壓縮,具體處理過程可以如下述:
[0060]步驟一:將三維應(yīng)用程序中的所有的指令數(shù)據(jù)作為指令字典以備查詢。
[0061]三維應(yīng)用程序中的所有的指令數(shù)據(jù)的數(shù)量可以根據(jù)相應(yīng)的應(yīng)用程序進(jìn)行增加或者減少。
[0062]步驟二:在獲得的三維圖形數(shù)據(jù)中,查詢連續(xù)的指令數(shù)據(jù),去除指令數(shù)據(jù)中的重復(fù)指令。
[0063]例如,確定指令數(shù)據(jù)是否是坐標(biāo)變換或者投影變換類的指令數(shù)據(jù),如果是,可以將多次的指令數(shù)據(jù)計(jì)算成最后一次的指令數(shù)據(jù),放在最后一次指令數(shù)據(jù)的位置,刪除前面多余的重復(fù)指令數(shù)據(jù),這樣可以減少后續(xù)瘦客戶機(jī)的渲染壓力。
[0064]步驟三:將去除重復(fù)指令后的指令數(shù)據(jù),基于步驟一中的指令字典進(jìn)行壓縮。
[0065]步驟四:在壓縮指令數(shù)據(jù)的過程中,如果確定出某一條指令數(shù)據(jù)是刷新指令時(shí),則結(jié)束指令數(shù)據(jù)壓縮的步驟。將已經(jīng)壓縮的指令數(shù)據(jù)和已經(jīng)壓縮的紋理數(shù)據(jù),基于TCP/IP協(xié)議發(fā)送給瘦客戶機(jī)。
[0066]紋理數(shù)據(jù)可以根據(jù)三維應(yīng)用程序的不同,采用不同的壓縮算法,例如OPENGL程序可以米用OpenGL架構(gòu)評(píng)審委員會(huì)(OpenGL Architecture Review Board,縮寫:ARB)紋理技術(shù)擴(kuò)展壓縮算法,而DIRECT 3D程序可以采用直接紋理壓縮(英文:Direct X TextureCompress,縮寫:DXTC)算法進(jìn)行壓縮。
[0067]步驟16,向瘦客戶機(jī)發(fā)送壓縮后的指令數(shù)據(jù)和紋理數(shù)據(jù)。
[0068]將壓縮后的數(shù)據(jù)存入相應(yīng)的緩存區(qū),這樣可以保證緩存區(qū)地址的連續(xù),發(fā)送的時(shí)候?qū)⒕彺鎱^(qū)內(nèi)容全部發(fā)送出去,同時(shí)清空緩存區(qū)。
[0069]相應(yīng)地,在瘦客戶機(jī)端,本發(fā)明實(shí)施例提出一種基于虛擬化技術(shù)的圖形顯示方法,如圖2所示,包括:
[0070]步驟21,接收虛擬機(jī)發(fā)送的壓縮后的指令數(shù)據(jù)和紋理數(shù)據(jù)。
[0071]步驟22,分別對(duì)接收到的指令數(shù)據(jù)和紋理數(shù)據(jù)進(jìn)行解壓縮。
[0072]對(duì)接收到的指令數(shù)據(jù),按照設(shè)定方式進(jìn)行解壓縮。其【具體實(shí)施方式】如下述:
[0073]步驟一:將三維應(yīng)用程序中的所有的指令數(shù)據(jù)作為指令字典以備查詢。
[0074]三維應(yīng)用程序中的所有的指令數(shù)據(jù)的數(shù)量可以根據(jù)相應(yīng)的應(yīng)用程序進(jìn)行增加或者減少。
[0075]步驟二:對(duì)于接收到的經(jīng)過壓縮后的指令數(shù)據(jù),基于步驟一保存的指令字典,進(jìn)行解壓縮。
[0076]針對(duì)接收到的壓縮后的紋理數(shù)據(jù),按照預(yù)先設(shè)定的壓縮算法,進(jìn)行解壓縮。
[0077]步驟23,將解壓縮后的指令數(shù)據(jù)和紋理數(shù)據(jù)發(fā)送給用于進(jìn)行三維程序的渲染和顯示的數(shù)據(jù)顯示模塊。
[0078]相應(yīng)地,本發(fā)明實(shí)施例提出一種基于虛擬化技術(shù)的圖形顯示裝置,如圖3所示,包括:
[0079]分類模塊301,用于在確定出虛擬機(jī)中運(yùn)行的三維圖形數(shù)據(jù)不需要立即發(fā)送時(shí),將所述圖形數(shù)據(jù)分別歸類為指令數(shù)據(jù)和紋理數(shù)據(jù);
[0080]具體地,上述分類模塊301,具體用于確定獲得的三維圖形數(shù)據(jù)的屬性標(biāo)識(shí);在所述屬性標(biāo)識(shí)表征的是對(duì)紋理數(shù)據(jù)進(jìn)行操作的指令時(shí),確定該屬性標(biāo)識(shí)對(duì)應(yīng)的三維圖形數(shù)據(jù)是指令數(shù)據(jù);
[0081]具體地,上述分類模塊301,具體用于確定獲得的三維圖形數(shù)據(jù)的屬性標(biāo)識(shí);在所述屬性標(biāo)識(shí)表征的是三維圖形的像素?cái)?shù)據(jù)時(shí),確定該屬性標(biāo)識(shí)對(duì)應(yīng)的三維圖形數(shù)據(jù)是紋理數(shù)據(jù)。
[0082]壓縮模塊302,用于分別對(duì)所述指令數(shù)據(jù)和紋理數(shù)據(jù)進(jìn)行壓縮;
[0083]具體地,上述壓縮模塊302,具體用于去除所述指令數(shù)據(jù)中的重復(fù)指令;將去除重復(fù)指令后的指令數(shù)據(jù),按照設(shè)定方式進(jìn)行壓縮。
[0084]發(fā)送模塊303,用于向瘦客戶機(jī)發(fā)送壓縮后的指令數(shù)據(jù)和紋理數(shù)據(jù)。
[0085]相應(yīng)地,本發(fā)明實(shí)施例提出一種基于虛擬化技術(shù)的圖形顯示裝置,如圖3所示,包括:
[0086]接收模塊401,用于接收虛擬機(jī)發(fā)送的壓縮后的指令數(shù)據(jù)和紋理數(shù)據(jù);
[0087]解壓模塊402,用于分別對(duì)接收到的指令數(shù)據(jù)和紋理數(shù)據(jù)進(jìn)行解壓縮;
[0088]具體地,上述解壓模塊402,具體用于對(duì)接收到的指令數(shù)據(jù),按照設(shè)定方式進(jìn)行解壓縮。
[0089]顯示模塊403,用于將解壓縮后的指令數(shù)據(jù)和紋理數(shù)據(jù)發(fā)送給用于進(jìn)行三維程序的渲染和顯示的數(shù)據(jù)顯示模塊。
[0090]本領(lǐng)域的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、裝置(設(shè)備)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、只讀光盤、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0091]本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(設(shè)備)和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0092]這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0093]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0094]盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
[0095]顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
【權(quán)利要求】
1.一種基于虛擬化技術(shù)的圖形顯示方法,其特征在于,包括: 在確定出虛擬機(jī)中運(yùn)行的三維圖形數(shù)據(jù)不需要立即發(fā)送時(shí),將所述圖形數(shù)據(jù)分別歸類為指令數(shù)據(jù)和紋理數(shù)據(jù); 分別對(duì)所述指令數(shù)據(jù)和紋理數(shù)據(jù)進(jìn)行壓縮;以及 向瘦客戶機(jī)發(fā)送壓縮后的指令數(shù)據(jù)和紋理數(shù)據(jù)。
2.如權(quán)利要求1所述的方法,其特征在于,將所述圖形數(shù)據(jù)歸類為指令數(shù)據(jù),包括: 確定獲得的三維圖形數(shù)據(jù)的屬性標(biāo)識(shí); 在所述屬性標(biāo)識(shí)表征的是對(duì)紋理數(shù)據(jù)進(jìn)行操作的指令時(shí),確定該屬性標(biāo)識(shí)對(duì)應(yīng)的三維圖形數(shù)據(jù)是指令數(shù)據(jù); 將所述圖形數(shù)據(jù)分別歸類為紋理數(shù)據(jù),包括: 確定獲得的三維圖形數(shù)據(jù)的屬性標(biāo)識(shí); 在所述屬性標(biāo)識(shí)表征的是三維圖形的像素?cái)?shù)據(jù)時(shí),確定該屬性標(biāo)識(shí)對(duì)應(yīng)的三維圖形數(shù)據(jù)是紋理數(shù)據(jù)。
3.如權(quán)利要求1或2所述的方法,其特征在于,對(duì)所述指令數(shù)據(jù)進(jìn)行壓縮,包括: 去除所述指令數(shù)據(jù)中的重復(fù)指令; 將去除重復(fù)指令后的指令數(shù)據(jù),按照設(shè)定方式進(jìn)行壓縮。
4.一種基于虛擬化技術(shù)的圖形顯示方法,其特征在于,包括: 接收虛擬機(jī)發(fā)送的壓縮后的指令數(shù)據(jù)和紋理數(shù)據(jù); 分別對(duì)接收到的指令數(shù)據(jù)和紋理數(shù)據(jù)進(jìn)行解壓縮; 將解壓縮后的指令數(shù)據(jù)和紋理數(shù)據(jù)發(fā)送給用于進(jìn)行三維程序的渲染和顯示的數(shù)據(jù)顯不豐旲塊。
5.如權(quán)利要求4所述的方法,其特征在于,對(duì)接收到的指令數(shù)據(jù)進(jìn)行解壓縮,包括: 對(duì)接收到的指令數(shù)據(jù),按照設(shè)定方式進(jìn)行解壓縮。
6.一種基于虛擬化技術(shù)的圖形顯示裝置,其特征在于,包括: 分類模塊,用于在確定出虛擬機(jī)中運(yùn)行的三維圖形數(shù)據(jù)不需要立即發(fā)送時(shí),將所述圖形數(shù)據(jù)分別歸類為指令數(shù)據(jù)和紋理數(shù)據(jù); 壓縮模塊,用于分別對(duì)所述指令數(shù)據(jù)和紋理數(shù)據(jù)進(jìn)行壓縮; 發(fā)送模塊,用于向瘦客戶機(jī)發(fā)送壓縮后的指令數(shù)據(jù)和紋理數(shù)據(jù)。
7.如權(quán)利要求6所述的裝置,其特征在于,所述分類模塊,具體用于確定獲得的三維圖形數(shù)據(jù)的屬性標(biāo)識(shí);在所述屬性標(biāo)識(shí)表征的是對(duì)紋理數(shù)據(jù)進(jìn)行操作的指令時(shí),確定該屬性標(biāo)識(shí)對(duì)應(yīng)的三維圖形數(shù)據(jù)是指令數(shù)據(jù); 所述分類模塊,具體用于確定獲得的三維圖形數(shù)據(jù)的屬性標(biāo)識(shí);在所述屬性標(biāo)識(shí)表征的是三維圖形的像素?cái)?shù)據(jù)時(shí),確定該屬性標(biāo)識(shí)對(duì)應(yīng)的三維圖形數(shù)據(jù)是紋理數(shù)據(jù)。
8.如權(quán)利要求6或7所述的裝置,其特征在于,所述壓縮模塊,具體用于去除所述指令數(shù)據(jù)中的重復(fù)指令;將去除重復(fù)指令后的指令數(shù)據(jù),按照設(shè)定方式進(jìn)行壓縮。
9.一種基于虛擬化技術(shù)的圖形顯示裝置,其特征在于,包括: 接收模塊,用于接收虛擬機(jī)發(fā)送的壓縮后的指令數(shù)據(jù)和紋理數(shù)據(jù); 解壓模塊,用于分別對(duì)接收到的指令數(shù)據(jù)和紋理數(shù)據(jù)進(jìn)行解壓縮; 顯示模塊,用于將解壓縮后的指令數(shù)據(jù)和紋理數(shù)據(jù)發(fā)送給用于進(jìn)行三維程序的渲染和顯示的數(shù)據(jù)顯示模塊。
10.如權(quán)利要求9所述的裝置,其特征在于,所述解壓模塊,具體用于對(duì)接收到的指令數(shù)據(jù),按照設(shè)定方式進(jìn)行解壓縮。
【文檔編號(hào)】H04N19/597GK104469385SQ201410767614
【公開日】2015年3月25日 申請(qǐng)日期:2014年12月11日 優(yōu)先權(quán)日:2014年12月11日
【發(fā)明者】李俊 申請(qǐng)人:北京星網(wǎng)銳捷網(wǎng)絡(luò)技術(shù)有限公司