顯示畫面的方法及系統(tǒng)的制作方法
【專利摘要】一種顯示畫面的方法及系統(tǒng)。上述方法用于一電子裝置包括:取得與電子裝置所位于的子網(wǎng)絡(luò)中的客戶端裝置的能力信息,藉此獲得加總能力信息;連結(jié)至伺服系統(tǒng),而自伺服系統(tǒng)接收能力詢問指令;回報(bào)加總能力信息至伺服系統(tǒng),以響應(yīng)能力詢問指令,使得伺服系統(tǒng)傳送繪圖指令;以及依據(jù)伺服系統(tǒng)所傳送的繪圖指令,與客戶端裝置共同產(chǎn)生畫面。
【專利說明】顯示畫面的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明是有關(guān)于一種畫面顯示機(jī)制,且特別是有關(guān)于一種虛擬桌面的顯示畫面的方法及系統(tǒng)。
【背景技術(shù)】
[0002]虛擬桌面基礎(chǔ)結(jié)構(gòu)(Virtual Desktop Infrastructure, VDI)可將虛擬化桌面集中于數(shù)據(jù)中心的服務(wù)器上。目前VDI顯示機(jī)制大致可分為客戶端成像(client-siderendering)或主機(jī)端成像(host-side rendering)。所謂主機(jī)端成像是將由伺服端產(chǎn)生虛擬機(jī)器的顯示畫面之后,利用遠(yuǎn)程桌面協(xié)議將顯示畫面?zhèn)魉偷绞褂谜哂?jì)算機(jī)上。由于主機(jī)端成像僅傳送虛擬機(jī)器的顯示畫面或是繪圖指令等,因此對(duì)使用者計(jì)算機(jī)等級(jí)要求也較低。另外,所謂客戶端成像是由伺服端將虛擬機(jī)器的顯示畫面的繪圖指令傳送至使用者計(jì)算機(jī),而由使用者計(jì)算機(jī)來自行產(chǎn)生虛擬機(jī)器的顯示畫面。據(jù)此,客戶端成像可節(jié)省伺服端的電源的損耗。
[0003]然而,在主機(jī)端成像的情況下,會(huì)增加伺服端的運(yùn)算量,進(jìn)而增加電源的損耗;在客戶端成像的情況下,則容易造成客戶端裝置的資源全部被占用的情形。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供一種顯示畫面的方法及系統(tǒng),使得客戶端裝置能夠藉由其它鄰近的客戶端裝置來共同完成畫面的成像。
[0005]本發(fā)明提出一種顯示畫面的方法,用于電子裝置。此方法包括:自與電子裝置處于相同的子網(wǎng)絡(luò)中的客戶端裝置,取得客戶端裝置的能力信息,藉此獲得加總能力信息;連結(jié)至伺服系統(tǒng),而自伺服系統(tǒng)接收能力詢問指令;回報(bào)加總能力信息至伺服系統(tǒng),以響應(yīng)能力詢問指令,使得伺服系統(tǒng)傳送繪圖指令;以及依據(jù)伺服系統(tǒng)所傳送的繪圖指令,與客戶端裝置共同產(chǎn)生畫面。
[0006]在本發(fā)明的一實(shí)施例中,在上述取得客戶端裝置的能力信息,藉此獲得加總能力信息的步驟中,可廣播能力收集封包至位于子網(wǎng)絡(luò)內(nèi)的客戶端裝置;而自客戶端裝置接收能力響應(yīng)封包,上述能力響應(yīng)封包包括客戶端裝置的能力信息;并且,依據(jù)電子裝置的能力信息與客戶端裝置的能力信息,計(jì)算加總能力信息。
[0007]在本發(fā)明的一實(shí)施例中,在上述依據(jù)伺服系統(tǒng)所傳送的繪圖指令,與客戶端裝置共同產(chǎn)生畫面的步驟中,可在自伺服系統(tǒng)接收到繪圖指令之后,傳送成像任務(wù)信息至客戶端裝置,此成像任務(wù)信息包括畫面的分辨率以及畫面被劃分為多個(gè)區(qū)塊的區(qū)塊尺寸;并且自客戶端裝置接收任務(wù)響應(yīng)信息,任務(wù)響應(yīng)信息包括客戶端裝置所欲完成的區(qū)塊數(shù)量。
[0008]在本發(fā)明的一實(shí)施例中,在上述自客戶端裝置接收任務(wù)響應(yīng)信息的步驟之后,還可執(zhí)行底下步驟,包括:依據(jù)所接收的任務(wù)響應(yīng)信息,決定由客戶端裝置所負(fù)責(zé)的區(qū)塊位置;傳送繪圖指令與客戶端裝置所負(fù)責(zé)的區(qū)塊位置至客戶端裝置,而由客戶端裝置依據(jù)繪圖指令產(chǎn)生畫面;以及自客戶端裝置接收與客戶端裝置所負(fù)責(zé)的區(qū)塊位置對(duì)應(yīng)的區(qū)塊圖像,其中自客戶端裝置所接收的區(qū)塊圖像是由客戶端裝置所產(chǎn)生的畫面中所獲得。
[0009]在本發(fā)明的一實(shí)施例中,在上述依據(jù)伺服系統(tǒng)所傳送的繪圖指令,與客戶端裝置共同產(chǎn)生畫面的步驟中,可在自伺服系統(tǒng)接收到繪圖指令之后,依據(jù)繪圖指令,寫入所產(chǎn)生的繪圖數(shù)據(jù)至后景緩沖區(qū);當(dāng)自客戶端裝置接收到區(qū)塊圖像時(shí),依據(jù)客戶端裝置所負(fù)責(zé)的區(qū)塊位置,將所接收的區(qū)塊圖像覆寫至后景緩沖區(qū);以及在經(jīng)過預(yù)設(shè)時(shí)間后,將后景緩沖區(qū)內(nèi)的數(shù)據(jù)復(fù)制到前景緩沖區(qū),以呈現(xiàn)前景緩沖區(qū)的內(nèi)容。
[0010]在本發(fā)明的一實(shí)施例中,上述能力信息包括中央處理單元的執(zhí)行效能、圖形處理單元的執(zhí)行效能、存儲(chǔ)器的執(zhí)行效能、所支持的繪圖指令類別以及圖形分?jǐn)?shù)至少其中之一或其組合者。
[0011]在本發(fā)明的一實(shí)施例中,上述回報(bào)加總能力信息至該伺服系統(tǒng)的步驟中,可通過遠(yuǎn)程桌面協(xié)議(Remote Desktop Protocol, RDP),回報(bào)加總能力信息至伺服系統(tǒng)。
[0012]本發(fā)明還提出一種顯示畫面的系統(tǒng),包括伺服系統(tǒng)與多個(gè)客戶端裝置。這些客戶端裝置位于同一子網(wǎng)絡(luò)中,這些客戶端裝置互相取得各自的能力信息,藉此獲得加總能力信息。在此,以連結(jié)至伺服系統(tǒng)的其中一客戶端裝置作為目標(biāo)客戶端裝置,而將其余的客戶端裝置作為鄰居客戶端裝置。當(dāng)目標(biāo)客戶端裝置連結(jié)至伺服系統(tǒng),而自伺服系統(tǒng)接收能力詢問指令時(shí),目標(biāo)客戶端裝置會(huì)回報(bào)加總能力信息至伺服系統(tǒng),以響應(yīng)能力詢問指令,使得伺服系統(tǒng)傳送繪圖指令至目標(biāo)客戶端裝置,并且,目標(biāo)客戶端裝置依據(jù)伺服系統(tǒng)所傳送的繪圖指令,與鄰居客戶端裝置共同產(chǎn)生畫面。
[0013]基于上述,客戶端裝置通過尋求其它鄰近的客戶端裝置,以共同完成畫面的成像,因而既可在客戶端裝置中成像,亦可避免耗盡客戶端裝置資源的問題。
[0014]為讓本發(fā)明的上述特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉實(shí)施例,并配合所附圖式作詳細(xì)說明如下。
【專利附圖】
【附圖說明】
[0015]圖1是依據(jù)本發(fā)明一實(shí)施例的顯示畫面的系統(tǒng)的示意圖。
[0016]圖2是依據(jù)本發(fā)明一實(shí)施例的顯示畫面的方法流程圖。
[0017]圖3是依據(jù)本發(fā)明另一實(shí)施例的顯示畫面的系統(tǒng)的示意圖。
[0018]圖4是依照本發(fā)明一實(shí)施例的共同產(chǎn)生畫面的方法流程圖。
[0019]圖5是依照本發(fā)明一實(shí)施例的各客戶端裝置所負(fù)責(zé)的區(qū)塊位置的示意圖。
[0020][主要元件標(biāo)號(hào)說明]
[0021]10,30:顯示畫面的系統(tǒng)100、300:伺服系統(tǒng)
[0022]110、120、A?D:客戶端裝置301、303:虛擬機(jī)器
[0023]305:超管理器307:網(wǎng)絡(luò)適配卡
[0024]S205?S220:顯示畫面的方法各步驟
[0025]S405?S435:共同產(chǎn)生畫面的方法各步驟
【具體實(shí)施方式】
[0026]在傳統(tǒng)的遠(yuǎn)程桌面顯示機(jī)制中,在伺服系統(tǒng)進(jìn)行成像的情況下,伺服系統(tǒng)在成像后,會(huì)將畫面?zhèn)魉椭量蛻舳搜b置,然此舉會(huì)增加伺服系統(tǒng)的運(yùn)算量;另一方面,在由伺服系統(tǒng)傳送繪圖指令至客戶端裝置以在客戶端裝置中進(jìn)行成像的情況下,倘若客戶端裝置的處理效能不夠強(qiáng)大,則容易造成客戶端裝置的資源全部被占用的情形。為此,本發(fā)明提出一種顯示畫面的方法及系統(tǒng),既可在客戶端裝置中成像,亦可避免耗盡客戶端裝置資源的問題。為了使本發(fā)明的內(nèi)容更為明了,以下特舉實(shí)施例作為本發(fā)明確實(shí)能夠據(jù)以實(shí)施的范例。
[0027]圖1是依據(jù)本發(fā)明一實(shí)施例的顯示畫面的系統(tǒng)的示意圖。請(qǐng)參照?qǐng)D1,顯示畫面的系統(tǒng)10包括伺服系統(tǒng)100以及多個(gè)客戶端裝置110、120。在此,僅繪示出客戶端裝置110與客戶端裝置120,然,在其它實(shí)施例中,客戶端裝置亦可設(shè)置大于或等于3臺(tái),在此并不限定。
[0028]伺服系統(tǒng)100例如是由一臺(tái)或多臺(tái)實(shí)體主機(jī)所構(gòu)成的具有強(qiáng)大運(yùn)算能力的設(shè)備。而伺服系統(tǒng)100中可提供多個(gè)虛擬機(jī)器以供客戶端裝置110與客戶端裝置120來使用。
[0029]客戶端裝置110與客戶端裝置120位于同一個(gè)子網(wǎng)絡(luò)(subnet)中??蛻舳搜b置110與客戶端裝置120例如分別為筆記本型計(jì)算機(jī)、桌上型計(jì)算機(jī)、平板計(jì)算機(jī)、智能型手機(jī)等具有顯示單元的電子裝置或精簡型計(jì)算機(jī)。在本實(shí)施例中,客戶端裝置110與客戶端裝置120皆包括有處理單元、儲(chǔ)存單元、網(wǎng)絡(luò)單元等基本構(gòu)件。例如,在儲(chǔ)存單元中儲(chǔ)存有顯示圖像用的程序碼片段,以供處理單元執(zhí)行所儲(chǔ)存的程序碼片段來實(shí)現(xiàn)顯示圖像各步驟。
[0030]舉例來說,將顯示圖像用的程序碼片段封裝為一應(yīng)用程序,將此應(yīng)用程序分別安裝于客戶端裝置110與客戶端裝置120,即表示客戶端裝置110與客戶端裝置120之間能夠?qū)Ρ舜颂峁┨幚硇埽逡曰ハ鄥f(xié)助。
[0031]也就是說,客戶端裝置110與客戶端裝置120會(huì)互相取得各自的能力信息,藉此而獲得加總能力信息。在此,上述能力信息包括中央處理單元(Central Processing Unit,CPU)的執(zhí)行效能、圖形處理單元(Graphic Processing Unit, GPU)的執(zhí)行效能、存儲(chǔ)器的執(zhí)行效能、所支持的繪圖指令類別以及圖形分?jǐn)?shù)(graphics scores)至少其中之一或其組合者。上述圖形分?jǐn)?shù)用以代表為顯示卡的效能等級(jí)。
[0032]而客戶端裝置110與客戶端裝置120所獲得的加總能力信息可以為相同,亦可以為不同。例如,客戶端裝置Iio與客戶端裝置120兩者本身的效能有可能為不同,而用以支持對(duì)方的效能亦可為不同,因此會(huì)造成兩者所獲得的加總能力信息可能會(huì)不同。
[0033]由于客戶端裝置110與客戶端裝置120所執(zhí)行的動(dòng)作大致相同,故底下僅以客戶端裝置110進(jìn)行說明。
[0034]客戶端裝置110可以在連結(jié)至伺服系統(tǒng)100之前(或在連結(jié)至伺服系統(tǒng)100的當(dāng)下),取得客戶端裝置120所能提供的能力信息,并將自身的能力信息加上客戶端裝置120的能力信息,而獲得加總能力信息。藉此,當(dāng)客戶端裝置110連結(jié)至伺服系統(tǒng)100,并在接收到伺服系統(tǒng)100的能力詢問指令時(shí),將加總能力信息回報(bào)給伺服系統(tǒng)100。
[0035]而伺服系統(tǒng)100在接收到響應(yīng)其所發(fā)送的能力詢問指令的加總能力信息時(shí),會(huì)依據(jù)加總能力信息來判斷要執(zhí)行客戶端成像或是主機(jī)端成像。在此,客戶端成像所指為將繪圖指令傳送至客戶端裝置110 (或其它連結(jié)至伺服系統(tǒng)110的客戶端裝置),由客戶端裝置110依據(jù)繪圖指令來產(chǎn)生畫面。而主機(jī)端成像是由伺服系統(tǒng)100產(chǎn)生畫面,之后將所產(chǎn)生的畫面?zhèn)魉椭量蛻舳搜b置110 (或其它連結(jié)至伺服系統(tǒng)110的客戶端裝置)。
[0036]由于伺服系統(tǒng)100是根據(jù)所接收到的加總能力信息進(jìn)行判斷,而集合了子網(wǎng)絡(luò)底下的多臺(tái)客戶端裝置的能力信息的加總能力信息,藉此可順利讓伺服系統(tǒng)100認(rèn)為客戶端裝置110的效能足以執(zhí)行客戶端成像,因此使得伺服系統(tǒng)100傳送繪圖指令至客戶端裝置110。據(jù)此,由客戶端裝置110依據(jù)伺服系統(tǒng)100所傳送的繪圖指令,與其鄰近的客戶端裝置120來共同產(chǎn)生畫面。
[0037]底下即搭配上述顯示畫面的系統(tǒng)100來說明顯示畫面的方法各步驟。圖2是依據(jù)本發(fā)明一實(shí)施例的顯示畫面的方法流程圖。在本實(shí)施例中,以欲連結(jié)至伺服系統(tǒng)100的客戶端裝置110、120其中之一作為欲連結(jié)至伺服系統(tǒng)100的目標(biāo)客戶端裝置,而將其余客戶端裝置作為用以支持目標(biāo)客戶端裝置的鄰居客戶端裝置。
[0038]在此,為了便于說明,以客戶端裝置110作為目標(biāo)客戶端裝置,而客戶端裝置120作為鄰居客戶端裝置。相同地,在其它實(shí)施例中,客戶端裝置120亦可作為目標(biāo)客戶端裝置而連結(jié)至伺服系統(tǒng)100,而其顯示畫面的各步驟亦與客戶端裝置110相同,在此省略不提。
[0039]請(qǐng)同時(shí)參照?qǐng)D1及圖2,在步驟S205中,客戶端裝置110自處于相同的子網(wǎng)絡(luò)中的客戶端裝置120中,取得客戶端裝置120的能力信息,藉此獲得加總能力信息。舉例來說,客戶端裝置110可將能力收集封包廣播至位于子網(wǎng)絡(luò)內(nèi)的客戶端裝置120。當(dāng)客戶端裝置120接收到能力收集封包時(shí),可將預(yù)設(shè)或客戶端裝置120的使用者事先設(shè)定的所能提供的能力信息,通過能力響應(yīng)封包(即,能力響應(yīng)封包包括客戶端裝置120的能力信息)而傳送給客戶端裝置110。當(dāng)客戶端裝置110自客戶端裝置110接收到能力響應(yīng)封包時(shí),依據(jù)本身的能力信息與所接收的能力信息,計(jì)算加總能力信息。
[0040]而在使用者欲通過客戶端裝置110來使用遠(yuǎn)程虛擬桌面時(shí),如步驟S210所示,由客戶端裝置110連結(jié)至伺服系統(tǒng)100,而自伺服系統(tǒng)100接收能力詢問指令。也就是說,當(dāng)伺服系統(tǒng)100檢測(cè)到客戶端裝置110已連結(jié),則會(huì)傳送能力詢問指令至客戶端裝置110。
[0041]接著,在步驟S215中,客戶端裝置110將加總能力信息回報(bào)至伺服系統(tǒng)100,以響應(yīng)上述能力詢問指令,使得伺服系統(tǒng)100傳送繪圖指令。上述繪圖指令包括圖形裝置接口(graphics device interface, GDI)指令、DirectX 接 口指令、開放圖形程序館(OpenGraphics Library,OpenGL)指令等至少其中之一或其組合者。之后,在步驟S220中,客戶端裝置110依據(jù)伺服系統(tǒng)100所傳送的繪圖指令,與客戶端裝置120共同產(chǎn)生畫面。也就是說,客戶端裝置110在接收到繪圖指令之后,會(huì)尋求鄰近的客戶端裝置120來協(xié)助產(chǎn)生畫面。
[0042]由于加總能力信息集合了子網(wǎng)絡(luò)底下的多臺(tái)客戶端裝置的能力信息,因而使得伺服系統(tǒng)100認(rèn)為客戶端裝置110的效能能夠滿足客戶端成像的執(zhí)行門坎,進(jìn)而伺服系統(tǒng)100傳送繪圖指令至客戶端裝置110。例如,以遠(yuǎn)程桌面協(xié)議(Remote Desktop Protocol,RDP)為例,假設(shè)在客戶端裝置110不支持⑶1+1.1版本,而客戶端裝置120支持⑶1+1.1版本的情況下,由于客戶端裝置110所傳送的加總能力信息中包括了客戶端裝置120的能力信息,因此,加總能力信息中的“drawGdipIusCacheLeveI”所對(duì)應(yīng)的值便會(huì)成為“0x00000001”。并且,可在不更改原先的通訊協(xié)議的情況下來實(shí)現(xiàn)上述本實(shí)施方式。
[0043]底下再舉實(shí)施例來說明目標(biāo)客戶端裝置與鄰居客戶端裝置共同產(chǎn)生畫面的各步驟。
[0044]圖3是依據(jù)本發(fā)明另一實(shí)施例的顯示畫面的系統(tǒng)的示意圖。請(qǐng)參照?qǐng)D3,顯示畫面的系統(tǒng)30包括伺服系統(tǒng)300以及位于同一子網(wǎng)絡(luò)的多個(gè)客戶端裝置A、B、C、D0在此并不限定子網(wǎng)絡(luò)中的客戶端裝置數(shù)量。
[0045]伺服系統(tǒng)300中包括多個(gè)虛擬機(jī)器(Virtual Machine, VM) 301,303與超管理器(Hypervisor) 305。在此僅以虛擬機(jī)器301、303作為范例,然并不以此為限。超管理器305是一種運(yùn)行在實(shí)體主機(jī)和操作系統(tǒng)之間的中間軟件層,亦稱為虛擬機(jī)器監(jiān)視器(VirtualMachine Monitor,VMM)。另外,伺服系統(tǒng)300通過網(wǎng)絡(luò)適配卡307來與客戶端裝置A?D進(jìn)行通訊。網(wǎng)絡(luò)適配卡307即為實(shí)體的網(wǎng)絡(luò)卡。
[0046]在本實(shí)施例中,伺服系統(tǒng)300中例如部署有虛擬桌面基礎(chǔ)結(jié)構(gòu)(Virtual DesktopInfra-structure, VDI),可將客戶端(如客戶端裝置A?D)桌面工作負(fù)荷(例如:操作系統(tǒng)、應(yīng)用程序、使用者數(shù)據(jù)等),在伺服系統(tǒng)300上管理及執(zhí)行。使用者通過支持遠(yuǎn)程桌面協(xié)議(RDP)的客戶端裝置(如客戶端裝置A?D),就能和其虛擬桌面通訊。
[0047]底下搭配顯示畫面的系統(tǒng)30來說明同產(chǎn)生畫面的方法各步驟。在此,客戶端裝置A?D之間會(huì)互相取得其它各個(gè)客戶端裝置的能力信息,藉此客戶端裝置A?D會(huì)分別獲得一個(gè)加總能力信息。例如,客戶端裝置A自客戶端裝置B?D分別獲得其能力信息,客戶端裝置B自客戶端裝置A、C、D分別獲得其能力信息,客戶端裝置C自客戶端裝置A、B、D分別獲得其能力信息,客戶端裝置D自客戶端裝置A?C分別獲得其能力信息。
[0048]在此為便于說明,以客戶端裝置A作為目標(biāo)客戶端裝置,而其余客戶端裝置B、C、D即為鄰居客戶端裝置。而客戶端裝置A自獲得加總能力信息至從伺服系統(tǒng)300接收到繪圖指令之間的過程與上述步驟S205?S215相似,故在此不再詳述,藉由參考上述步驟S205?S215即可得知。
[0049]圖4是依照本發(fā)明一實(shí)施例的共同產(chǎn)生畫面的方法流程圖。請(qǐng)同時(shí)參照?qǐng)D3及圖4,在步驟S405中,當(dāng)客戶端裝置A在自伺服系統(tǒng)300接收到繪圖指令之后,其會(huì)傳送成像任務(wù)信息至子網(wǎng)絡(luò)下的各客戶端裝置,即客戶端裝置B?D。在此,成像任務(wù)信息包括所欲產(chǎn)生的畫面的分辨率以及畫面被劃分為多個(gè)區(qū)塊的區(qū)塊尺寸。例如,畫面的分辨率為1024X768,欲切割為16個(gè)區(qū)塊(tile),區(qū)塊尺寸為256X 192。
[0050]接著,在步驟S410中,客戶端裝A分別自客戶端裝置B?D接收任務(wù)響應(yīng)信息。上述客戶端裝置B?D各自所傳送的任務(wù)響應(yīng)信息包括客戶端裝置B?D各自所欲完成的區(qū)塊數(shù)量。也就是說,當(dāng)客戶端裝置B?D各自接收到成像任務(wù)信息時(shí),會(huì)依據(jù)本身所能支持的能力信息來決定所能負(fù)責(zé)的區(qū)塊數(shù)量,而傳送任務(wù)響應(yīng)信息至客戶端裝置A。例如,客戶端裝置B在所響應(yīng)的任務(wù)響應(yīng)信息中表示其可支持2個(gè)區(qū)塊;客戶端裝置C在所響應(yīng)的任務(wù)響應(yīng)信息中表示其可支持4個(gè)區(qū)塊;客戶端裝置D在所響應(yīng)的任務(wù)響應(yīng)信息中表示其可支持6個(gè)區(qū)塊。
[0051]之后,在步驟S415中,客戶端裝置A依據(jù)所接收的任務(wù)響應(yīng)信息,決定由客戶端裝置B?D各自所負(fù)責(zé)的區(qū)塊位置。舉例來說,圖5是依照本發(fā)明一實(shí)施例的各客戶端裝置所負(fù)責(zé)的區(qū)塊位置的示意圖。在圖5中,區(qū)塊Al?A4為客戶端裝置A所負(fù)責(zé)的區(qū)塊位置,區(qū)塊BI?B2為客戶端裝置B所負(fù)責(zé)的區(qū)塊位置,區(qū)塊Cl?C4為客戶端裝置C所負(fù)責(zé)的區(qū)塊位置,區(qū)塊Dl?D6為客戶端裝置D所負(fù)責(zé)的區(qū)塊位置。
[0052]在決定區(qū)塊位置之后,于步驟S420中,客戶端裝置A分別傳送繪圖指令與客戶端裝置B?D各自所負(fù)責(zé)的區(qū)塊位置至客戶端裝置B?D,藉此而由客戶端裝置B?D依據(jù)繪圖指令產(chǎn)生畫面。[0053]并且,客戶端裝置A在自伺服系統(tǒng)300接收到繪圖指令之后,于步驟S425中,客戶端裝置A會(huì)依據(jù)繪圖指令,寫入所產(chǎn)生的繪圖數(shù)據(jù)至后景緩沖區(qū)(back buffer)。另外,在步驟S430中,客戶端裝置A會(huì)分別自客戶端裝置B?D接收到區(qū)塊圖像,并將所接收的區(qū)塊圖像覆寫至后景緩沖區(qū)對(duì)應(yīng)處。
[0054]即,客戶端裝置A會(huì)陸續(xù)接收到客戶端裝置B?D各自所負(fù)責(zé)的區(qū)塊位置對(duì)應(yīng)的區(qū)塊圖像。具體而言,客戶端裝置B?D在接收到繪圖指令之后,亦會(huì)在產(chǎn)生整個(gè)畫面之后,而將所負(fù)責(zé)的區(qū)塊位置對(duì)應(yīng)的區(qū)塊圖像傳送至客戶端裝置A。而當(dāng)自客戶端裝置A接收到區(qū)塊圖像時(shí),依據(jù)此區(qū)塊圖像對(duì)應(yīng)的區(qū)塊位置,將此區(qū)塊圖像覆寫至后景緩沖區(qū)。
[0055]之后,在步驟S435中,客戶端裝置A在經(jīng)過預(yù)設(shè)時(shí)間后,將后景緩沖區(qū)內(nèi)的繪圖數(shù)據(jù)復(fù)制到前景緩沖區(qū)(front buffer),以呈現(xiàn)前景緩沖區(qū)的內(nèi)容?;蛘?,在其它實(shí)施例中,客戶端裝置A在經(jīng)過預(yù)設(shè)時(shí)間后,將后景緩沖區(qū)與前景緩沖區(qū)互相對(duì)調(diào)。
[0056]具體而言,在本實(shí)施例中,客戶端裝置A包括兩個(gè)緩沖區(qū),即前景緩沖區(qū)與后景緩沖區(qū),以供產(chǎn)生畫面來使用。而在其它實(shí)施例中,并不限制緩沖區(qū)的數(shù)量??蛻舳搜b置A在繪圖的過程中所產(chǎn)生繪圖數(shù)據(jù)會(huì)先寫入至后景緩沖區(qū)。而當(dāng)客戶端裝置A陸續(xù)接收到區(qū)塊圖像時(shí),不管后景緩沖區(qū)中對(duì)應(yīng)的區(qū)塊位置是否已寫入繪圖數(shù)據(jù),一律將所接收的區(qū)塊圖像覆寫至對(duì)應(yīng)的區(qū)塊位置中。待經(jīng)過一段預(yù)設(shè)時(shí)間(例如5秒)之后,客戶端裝置A將后景緩沖區(qū)內(nèi)的繪圖數(shù)據(jù)復(fù)制到前景緩沖區(qū),以呈現(xiàn)前景緩沖區(qū)的內(nèi)容。據(jù)此,客戶端裝置A的使用者便能觀看到所產(chǎn)生的畫面。
[0057]此外,在客戶端裝置A在自伺服系統(tǒng)300接收到繪圖指令之后,即可執(zhí)行步驟S425,也就是客戶端裝置A依據(jù)繪圖指令來產(chǎn)生畫面。而步驟S425除了在步驟S420之后執(zhí)行,在其它實(shí)施例中,步驟S425與步驟S420亦可同時(shí)執(zhí)行,或是步驟S425在步驟S420之前執(zhí)行。
[0058]綜上所述,在上述實(shí)施例中,由于加總能力信息中集合了子網(wǎng)絡(luò)底下的多臺(tái)客戶端裝置的能力信息,提高了伺服系統(tǒng)判定執(zhí)行客戶端成像的機(jī)率,因而可避免單一客戶端裝置的效能不足,導(dǎo)致伺服系統(tǒng)判定無法執(zhí)行客戶端成像。此外,通過多臺(tái)客戶端裝置的協(xié)助,亦可改善單一客戶端裝置的效能不足的問題。如此一來,既可在客戶端裝置中成像,亦可避免耗盡客戶端裝置的資源的問題。另外,傳送繪圖指令比傳送整個(gè)畫面還要更節(jié)省頻寬的使用,進(jìn)而提升傳輸速度;此外還可降低伺服系統(tǒng)的運(yùn)作量,進(jìn)而減少伺服系統(tǒng)的耗倉泛。
[0059]雖然本發(fā)明已以實(shí)施例揭露如上,然其并非用以限定本發(fā)明,任何所屬【技術(shù)領(lǐng)域】中具有通常知識(shí)者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許的更動(dòng)與潤飾,故本發(fā)明的保護(hù)范圍當(dāng)視所附的權(quán)利要求范圍所界定者為準(zhǔn)。
【權(quán)利要求】
1.一種顯示畫面的方法,用于一電子裝置,該方法包括: 自與該電子裝置處于相同的一子網(wǎng)絡(luò)中的一客戶端裝置,取得該客戶端裝置的一能力息,藉此獲得一加總能力息; 連結(jié)至一伺服系統(tǒng),而自該伺服系統(tǒng)接收一能力詢問指令; 回報(bào)該加總能力信息至該伺服系統(tǒng),以響應(yīng)該能力詢問指令,使得該伺服系統(tǒng)傳送一繪圖指令;以及 依據(jù)該伺服系統(tǒng)所傳送的該繪圖指令,與該客戶端裝置共同產(chǎn)生該畫面。
2.根據(jù)權(quán)利要求1所述的方法,其中取得該客戶端裝置的該能力信息,藉此獲得該加總能力信息的步驟包括: 廣播一能力收集封包至位于該子網(wǎng)絡(luò)內(nèi)的該客戶端裝置; 自該客戶端裝置接收一能力響應(yīng)封包,該能力響應(yīng)封包包括該客戶端裝置的該能力信息;以及 依據(jù)該電子裝置的該能力信息與該客戶端裝置的該能力信息,計(jì)算該加總能力信息。
3.根據(jù)權(quán)利要求1所述的方法,其中依據(jù)該伺服系統(tǒng)所傳送的該繪圖指令,與該客戶端裝置共同產(chǎn)生該畫面的步驟包括: 在自該伺服系統(tǒng)接收到該繪圖指令之后,傳送一成像任務(wù)信息至該客戶端裝置,該成像任務(wù)信息包括該畫面的分辨率以及該畫面被劃分為多個(gè)區(qū)塊的區(qū)塊尺寸;以及 自該客戶端裝置接收一任務(wù)響應(yīng)信息,該任務(wù)響應(yīng)信息包括該客戶端裝置所欲完成的一區(qū)塊數(shù)量。
4.根據(jù)權(quán)利要求3所述的方法,其中在自該客戶端裝置接收該任務(wù)響應(yīng)信息的步驟之后,還包括: 依據(jù)所接收的該任務(wù)響應(yīng)信息,決定由該客戶端裝置所負(fù)責(zé)的一區(qū)塊位置; 傳送該繪圖指令與該客戶端裝置所負(fù)責(zé)的該區(qū)塊位置至該客戶端裝置,而由該客戶端裝置依據(jù)該繪圖指令產(chǎn)生該畫面;以及 自該客戶端裝置接收與該客戶端裝置所負(fù)責(zé)的該區(qū)塊位置對(duì)應(yīng)的區(qū)塊圖像,其中自該客戶端裝置所接收的該區(qū)塊圖像是由該客戶端裝置所產(chǎn)生的該畫面中所獲得。
5.根據(jù)權(quán)利要求4所述的方法,其中在依據(jù)該伺服系統(tǒng)所傳送的該繪圖指令,與該客戶端裝置共同產(chǎn)生該畫面的步驟包括: 在自該伺服系統(tǒng)接收到該繪圖指令之后,依據(jù)該繪圖指令,寫入所產(chǎn)生的一繪圖數(shù)據(jù)至一后景緩沖區(qū); 當(dāng)自該客戶端裝置接收到該區(qū)塊圖像時(shí),依據(jù)該客戶端裝置所負(fù)責(zé)的該區(qū)塊位置,將所接收的該區(qū)塊圖像覆寫至該后景緩沖區(qū);以及 在經(jīng)過一預(yù)設(shè)時(shí)間后,將該后景緩沖區(qū)內(nèi)的該繪圖數(shù)據(jù)復(fù)制到一前景緩沖區(qū),以呈現(xiàn)該前景緩沖區(qū)的內(nèi)容。
6.根據(jù)權(quán)利要求1所述的方法,其中該能力信息包括中央處理單元的執(zhí)行效能、圖形處理單元的執(zhí)行效能、存儲(chǔ)器的執(zhí)行效能、所支持的繪圖指令類別以及圖形分?jǐn)?shù)至少其中之一或其組合者。
7.根據(jù)權(quán)利要求1所述的方法,其中回報(bào)該加總能力信息至該伺服系統(tǒng)的步驟包括: 通過一遠(yuǎn)程桌面協(xié)議,回報(bào)該加總能力信息至該伺服系統(tǒng)。
8.—種顯不畫面的系統(tǒng),包括: 一伺服系統(tǒng);以及 多個(gè)客戶端裝置,位于一子網(wǎng)絡(luò)中,每一該多個(gè)客戶端裝置互相取得各自的能力信息,藉此獲得一加總能力信息,其中,將連結(jié)至該伺服系統(tǒng)的該多個(gè)客戶端裝置其中之一作為目標(biāo)客戶端裝置,而將其余該多個(gè)客戶端裝置作為多個(gè)鄰居客戶端裝置; 其中,當(dāng)該目標(biāo)客戶端裝置連結(jié)至該伺服系統(tǒng),而自該伺服系統(tǒng)接收一能力詢問指令時(shí),該目標(biāo)客戶端裝置回報(bào)該加總能力信息至該伺服系統(tǒng),以響應(yīng)該能力詢問指令,使得該伺服系統(tǒng)傳送一繪圖指令至該目標(biāo)客戶端裝置,并且,該目標(biāo)客戶端裝置依據(jù)該伺服系統(tǒng)所傳送的該繪圖指令,與該多個(gè)鄰居客戶端裝置共同產(chǎn)生該畫面。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中該伺服系統(tǒng)包括多個(gè)虛擬機(jī)器; 其中,當(dāng)該目標(biāo)客戶端裝置連線至該多個(gè)虛擬機(jī)器其中之一時(shí),該伺服系統(tǒng)傳送該能力詢問指令至該目標(biāo)客戶端裝置,并且當(dāng)自該目標(biāo)客戶端裝置接收到該加總能力信息,并判定執(zhí)行一客戶端成像時(shí),傳送該繪圖指令至該目標(biāo)客戶端裝置。
10.根據(jù)權(quán)利要求8所述的系統(tǒng),其中每一該多個(gè)客戶端裝置各自廣播一能力收集封包至位于該子網(wǎng)絡(luò)內(nèi)的其它該多個(gè)客戶端裝置,以收集位于該子網(wǎng)絡(luò)內(nèi)的該多個(gè)客戶端裝置各自的該能力信息,進(jìn)而依據(jù)本身的該能力信息與其余該多個(gè)客戶端裝置各自的該能力信息,計(jì)算該加總能力信息。
11.根據(jù)權(quán)利要求8所述的系統(tǒng),其中該目標(biāo)客戶端裝置在自該伺服系統(tǒng)接收到該繪圖指令之后,傳送一成像任務(wù)信息至該多個(gè)鄰居客戶端裝置,并自每一該多個(gè)鄰居客戶端裝置接收一任務(wù)響應(yīng)信息,其中該成像任務(wù)信息包括該畫面的分辨率以及該畫面被劃分為多個(gè)區(qū)塊的區(qū)塊尺寸,而該任務(wù)響應(yīng)信息包括每一該多個(gè)鄰居客戶端裝置所欲完成的一區(qū)塊數(shù)量。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其中該目標(biāo)客戶端裝置依據(jù)自每一該多個(gè)鄰居客戶端裝置所接收的該任務(wù)響應(yīng)信息,決定由每一該多個(gè)鄰居客戶端裝置所負(fù)責(zé)的一區(qū)塊位置;并傳送該繪圖指令與每一該多個(gè)鄰居客戶端裝置所負(fù)責(zé)的該區(qū)塊位置至每一該多個(gè)鄰居客戶端裝置,而由每一該多個(gè)鄰居客戶端裝置依據(jù)該繪圖指令產(chǎn)生該畫面;以及自每一該多個(gè)鄰居客戶端裝置接收所負(fù)責(zé)的該區(qū)塊位置對(duì)應(yīng)的區(qū)塊圖像,其中自每一該多個(gè)鄰居客戶端裝置所接收的該區(qū)塊圖像是由每一該多個(gè)鄰居客戶端裝置所產(chǎn)生的該畫面中所獲得。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其中該目標(biāo)客戶端裝置包括一前景緩沖區(qū)與一后景緩沖區(qū); 其中,該目標(biāo)客戶端裝置在自該伺服系統(tǒng)接收到該繪圖指令之后,依據(jù)該繪圖指令,寫入所產(chǎn)生的一繪圖數(shù)據(jù)至該后景緩沖區(qū); 當(dāng)自每一該多個(gè)鄰居客戶端裝置接收到該區(qū)塊圖像時(shí),依據(jù)每一該多個(gè)鄰居客戶端裝置所負(fù)責(zé)的該區(qū)塊位置,將所接收的該區(qū)塊圖像覆寫至該后景緩沖區(qū);以及 在經(jīng)過一預(yù)設(shè)時(shí)間后,將該后景緩沖區(qū)內(nèi)的該繪圖數(shù)據(jù)復(fù)制到該前景緩沖區(qū),以呈現(xiàn)該前景緩沖區(qū)的內(nèi)容。
14.根據(jù)權(quán)利要求8所述的系統(tǒng),其中該能力信息包括中央處理單元的執(zhí)行效能、圖形處理單元的執(zhí)行效能、存儲(chǔ)器的執(zhí)行效能、所支持的繪圖指令類別以及圖形分?jǐn)?shù)至少其中之一或其組合者。
15.根據(jù)權(quán)利要求8所述的系統(tǒng),其中該目標(biāo)客戶端裝置通過一遠(yuǎn)程桌面協(xié)議,回報(bào)該加總能力信息至該伺 服系統(tǒng)。
【文檔編號(hào)】G06F3/14GK103902244SQ201210584057
【公開日】2014年7月2日 申請(qǐng)日期:2012年12月28日 優(yōu)先權(quán)日:2012年12月24日
【發(fā)明者】賴怡吉, 林子杰, 尤焙麟 申請(qǐng)人:緯創(chuàng)資通股份有限公司