專利名稱:提供合成顯示的系統(tǒng)和方法
提^成顯示的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及合成顯示解決方案領(lǐng)域。更具體地說,本發(fā)明涉及實(shí)現(xiàn)用 于大型分布式顯示器的合成顯示解決方案。
目前有許多圖形應(yīng)用需要超大顯示器才能有效使用。需要這些大型顯 示器是為了能夠觀看更多細(xì)節(jié)(以超大像素陣列呈現(xiàn))和/或?yàn)榱四軌虿⑴?排列多個高分辨率窗口。
目前的單顯示器和圖形卡技術(shù)只能將顯示器分辨率和大小調(diào)整到相對 較小的大小。若干視窗系統(tǒng)嘗試通過允許用戶在單個工作站中插入多個圖 形卡以創(chuàng)建"多桌面,,系統(tǒng),從而允許窗口在各個桌面之間移動來克服硬 件限制。
其他解決方案使用與顯示器墻連接的超高分辨率圖形卡,后者接受單 個視頻信號作為輸入并根據(jù)顯示器墻的大小調(diào)整該信號。
DMX(分散式多端X)服務(wù)器提供了另一種解決方案。該解決方案依 賴X協(xié)議技術(shù)來創(chuàng)建單墻平鋪式顯示器,其由聯(lián)網(wǎng)機(jī)器上托管的一組X顯 示服務(wù)器組成。X客戶端應(yīng)用與該特殊X顯示服務(wù)器連接并如常運(yùn)行。在 內(nèi)部,DMX服務(wù)器用作在呈現(xiàn)服務(wù)器上運(yùn)行的X顯示服務(wù)器的客戶端并 使用Xlib命令來呈現(xiàn)到遠(yuǎn)程顯示器中。該解決方案只能用于X Window。
US 2002/0116539披露了普林斯頓大學(xué)顯示器墻。該顯示系統(tǒng)用于 Windows操作系統(tǒng)(Windows是Microsoft Corporation的商標(biāo))。將顯 示圖像生成為客戶端內(nèi)部的像素?cái)?shù)據(jù),然后將其壓縮為圖像并發(fā)送到大型 顯示器。該系統(tǒng)基于將Window設(shè)備驅(qū)動器接口 (DDI)變換為對遠(yuǎn)程節(jié) 點(diǎn)的遠(yuǎn)程過程調(diào)用,每個節(jié)點(diǎn)都負(fù)責(zé)呈現(xiàn)顯示器的一個子集。
本發(fā)明旨在提供一種開發(fā)跨多個通過高速網(wǎng)絡(luò)與多個工作站相連的顯示器的可伸縮高分辨率可視化系統(tǒng)的技術(shù)。所述多個顯示器可在幾何上排 列為單個大型合成的高分辨率顯示器的一部分。
根據(jù)本發(fā)明的第一方面,提供了一種用于跨多個顯示裝置提^^成顯
示的系統(tǒng),所述系統(tǒng)包括主計(jì)算機(jī)系統(tǒng),其托管能夠生成圖形輸出的應(yīng) 用;多個呈現(xiàn)服務(wù)器,它們均與顯示裝置相連以便顯示所述圖形輸出的一 部分,每個呈現(xiàn)服務(wù)器都包括圖形呈現(xiàn)設(shè)備;以及設(shè)備驅(qū)動器,其包括用 于將所述主計(jì)算機(jī)系統(tǒng)上的應(yīng)用所生成的操作系統(tǒng)原始2D繪圖操作編碼 為連線協(xié)議(wire protocol)以發(fā)送到所述呈現(xiàn)服務(wù)器進(jìn)行執(zhí)行的裝置。
呈現(xiàn)服務(wù)器上的所述圖形呈現(xiàn)設(shè)備優(yōu)選地與其他呈現(xiàn)i殳備并行地呈現(xiàn) 所述繪圖操作。圖形呈現(xiàn)設(shè)備可包括將所述繪圖操作的結(jié)果光柵化 (rasterize)到幀緩沖區(qū)的圖形加速器。
可以使用低級編碼圖形指令編碼所述繪圖操作并且所述呈現(xiàn)服務(wù)器可 包括解碼裝置。所述繪圖操作優(yōu)選地為視窗系統(tǒng)特定的操作或操作系統(tǒng)特 定的操作。
所述設(shè)備驅(qū)動器可包括將所述繪圖操作分為多個部分的裝置,每個部 分用于所述圖形呈現(xiàn)設(shè)備之一。所述設(shè)備驅(qū)動器可包括定義每個呈現(xiàn)服務(wù) 器的呈現(xiàn)服務(wù)器繪圖狀態(tài)的裝置,所述呈現(xiàn)服務(wù)器繪圖狀態(tài)包括有關(guān)呈現(xiàn) 服務(wù)器如何執(zhí)行所述繪圖操作的信息。
所述設(shè)備驅(qū)動器可包括在所述圖形呈現(xiàn)設(shè)備中實(shí)現(xiàn)視窗系統(tǒng)特定的加 速器呈現(xiàn)鉤子的裝置。
所述設(shè)備驅(qū)動器可連接到所述主計(jì)算機(jī)系統(tǒng)、通過網(wǎng)絡(luò)與所述主計(jì)算 機(jī)系統(tǒng)耦合,或與所述主計(jì)算機(jī)系統(tǒng)集成。
所述主計(jì)算機(jī)系統(tǒng)還可包括本地顯示器,其獨(dú)立于所述呈現(xiàn)服務(wù)器的 合成顯示器并且能夠顯示與所述呈現(xiàn)服務(wù)器的合成顯示器的顯示不同的顯 示。
根據(jù)本發(fā)明的第二方面,提供了一種設(shè)備驅(qū)動器,包括將應(yīng)用所生 成的操作系統(tǒng)原始2D繪圖操作編碼為連線協(xié)議以發(fā)送到多個呈現(xiàn)服務(wù)器 進(jìn)行執(zhí)行的裝置;將所迷繪圖操作分為多個部分的裝置,不同的部分被發(fā)送到不同的呈現(xiàn)服務(wù)器以便執(zhí)行。
根據(jù)本發(fā)明的第三方面,提供了一種用于跨多個顯示裝置提^成顯
示的方法,所述方法包括將應(yīng)用所生成的操作系統(tǒng)原始2D繪圖操作編 碼為連線協(xié)議以發(fā)送到多個呈現(xiàn)服務(wù)器進(jìn)行執(zhí)行;將所述繪圖操作分為多 個部分,不同的部分被發(fā)送到不同的呈現(xiàn)服務(wù)器以便并行執(zhí)行。
所述方法可包括定義每個呈現(xiàn)服務(wù)器的呈現(xiàn)服務(wù)器繪圖狀態(tài),所述呈 現(xiàn)服務(wù)器繪圖狀態(tài)包括與所述呈現(xiàn)服務(wù)器如何執(zhí)行所述繪圖操作有關(guān)的信 息以及設(shè)備驅(qū)動器內(nèi)緩存的狀態(tài)。所述方法還可包括僅在需要時(shí)才將編碼 后的繪圖操作部分和所述呈現(xiàn)服務(wù)器繪圖狀態(tài)發(fā)送到呈現(xiàn)服務(wù)器。
對繪圖操作進(jìn)行編碼可提供包括所述操作的操作代碼和變量參數(shù)的有 序繪圖指令流。所述方法可包括在所述呈現(xiàn)服務(wù)器的圖形呈現(xiàn)設(shè)備中實(shí)現(xiàn) 視窗系統(tǒng)特定的加速器呈現(xiàn)鉤子。
根據(jù)本發(fā)明的第四方面,提供了一種存儲在計(jì)算機(jī)可讀存儲介質(zhì)上的 計(jì)算^l^呈序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括執(zhí)行以下步驟的計(jì)算機(jī)可讀程 序代碼裝置將應(yīng)用所生成的操作系統(tǒng)原始2D繪圖操作編碼為連線協(xié)議 以發(fā)送到多個呈現(xiàn)服務(wù)器進(jìn)行執(zhí)行;將所述繪圖操作分為多個部分,不同 的部分^J良送到不同的呈現(xiàn)服務(wù)器以便并行執(zhí)行。
本發(fā)明描述了一種獨(dú)立于操作系統(tǒng)的實(shí)現(xiàn)大型合成顯示器的通用技 術(shù),所述顯示器包括通過高速網(wǎng)絡(luò)連接的服務(wù)器群集中托管的大量分散式 圖形卡。
本發(fā)明使用客戶機(jī)上的虛擬設(shè)備驅(qū)動器,所述虛擬設(shè)備驅(qū)動器使用低 級編碼圖形指令將所述繪圖操作編碼為連線協(xié)議,后者被發(fā)送到簡單呈現(xiàn) 服務(wù)器并由該服務(wù)器執(zhí)行。
這使能在平鋪式顯示器呈現(xiàn)群集而非在客戶端系統(tǒng)中執(zhí)行繪圖。這允 許高分辨率、高伸縮性以及并行呈現(xiàn)。
現(xiàn)在將參考附圖僅通過實(shí)例的方式描述本發(fā)明的實(shí)施例,其中 圖l是本領(lǐng)域中公知的平鋪式顯示系統(tǒng)的方塊圖;圖2是根據(jù)本發(fā)明的系統(tǒng)的方塊圖3是才艮據(jù)本發(fā)明的一個方面的方法的流程圖;以及
圖4是根據(jù)本發(fā)明的另一方面的方法的流程圖。
在數(shù)據(jù)處理系統(tǒng)上運(yùn)行的軟件應(yīng)用 一般將圖形命令流發(fā)送到在該系統(tǒng) 的1/0接口之一上安裝的圖形呈現(xiàn)設(shè)備。所述圖形呈現(xiàn)設(shè)備然后將數(shù)據(jù)呈 現(xiàn)為在所述圖形呈現(xiàn)設(shè)備的視頻存儲器中作為光柵內(nèi)容存儲的像素并將它 們作為視頻信號輸出到本地顯示器。
為了更佳的可視化,可以跨顯示設(shè)備的合成陣列(通常稱為顯示器墻) 提供圖形的光柵表示。所述圖形可以被劃分為平鋪式顯示,且由單獨(dú)的顯 示監(jiān)視器提供每個平鋪塊。
現(xiàn)在參考
圖1,示出了本領(lǐng)域中公知的可視化系統(tǒng)100??梢暬到y(tǒng) 100包括在主機(jī)數(shù)據(jù)處理系統(tǒng)102上運(yùn)行的軟件應(yīng)用101。應(yīng)用101使用專 用本地顯示服務(wù)器103 (DMX服務(wù)器)。通過使用鏈接到包括多個X服 務(wù)器111-114的呈現(xiàn)群集110的本地網(wǎng)絡(luò)104 (通常為以太網(wǎng))來可碎見化應(yīng) 用101的專用顯示服務(wù)器103。每個X服務(wù)器111-114用于繪制在各個顯 示器121-124上輸出的圖形的一部分。
專用顯示服務(wù)器103接受應(yīng)用110發(fā)出的標(biāo)準(zhǔn)X11調(diào)用,對該調(diào)用進(jìn) 行編碼,并且在呈現(xiàn)服務(wù)器111-114的群集110的每個節(jié)點(diǎn)上執(zhí)行相同的 Xll函數(shù)調(diào)用。群集110的每個成員都接收Xll函數(shù)調(diào)用數(shù)據(jù)并且并行繪 制其最終圖像部分。每個呈現(xiàn)服務(wù)器111-114顯示圖像的一個部分121-124。 其例如可以是顯示器墻或投影系統(tǒng)的一個平鋪塊。
參考圖2,提供了根據(jù)本發(fā)明的可視化系統(tǒng)200。如圖1的現(xiàn)有技術(shù)系 統(tǒng)100,系統(tǒng)200包括在主機(jī)數(shù)據(jù)處理系統(tǒng)202上運(yùn)行的軟件應(yīng)用201。應(yīng) 用201的本地顯示器203與本地圖形呈現(xiàn)設(shè)備207 (例如,圖形處理單元 (GPU)、圖形卡等)相連。通過使用鏈接到包括多個呈現(xiàn)服務(wù)器211-214 的呈現(xiàn)群集210的高速本地網(wǎng)絡(luò)206而提供了第二個不同的大型顯示器。 每個呈現(xiàn)服務(wù)器211-214呈現(xiàn)在各個顯示器221-224上輸出的圖形的一部
8分。
所述系統(tǒng)200還包括遠(yuǎn)程視頻設(shè)備驅(qū)動器(RVDD ) 230,其由可以是標(biāo)準(zhǔn)X Window或Windows桌面的主機(jī)視窗系統(tǒng)使用。RVDD 230示為在主機(jī)系統(tǒng)202的X服務(wù)器208上。RVDD 230包括用于將應(yīng)用201的繪圖操作編碼為連線協(xié)議的編碼器231,所述連線協(xié)議凈皮發(fā)送到呈現(xiàn)服務(wù)器211-214并由呈現(xiàn)服務(wù)器211-214執(zhí)行。這使能在允許較高分辨率和伸縮性的呈現(xiàn)服務(wù)器211-214而非主機(jī)系統(tǒng)202上執(zhí)行所述繪圖操作。所述繪圖^!作為操作系統(tǒng)原始2D繪圖操作。RVDD 230包括用于將操作分為多個部分的分塊裝置232,每個部分用于一個呈現(xiàn)服務(wù)器211-214。
RVDD 230是操作系統(tǒng)特定的視頻設(shè)備驅(qū)動器,其實(shí)現(xiàn)超大顯示大小以及實(shí)現(xiàn)主機(jī)視窗系統(tǒng)所用的全部硬件加速鉤子以利用底層硬件。
可以在主機(jī)系統(tǒng)202上或可由主才幾系統(tǒng)202通過網(wǎng)絡(luò)訪問的月l務(wù)器上提供RVDD 230。 RVDD 230通過使用高速網(wǎng)絡(luò)206訪問呈現(xiàn)服務(wù)器211-214的集合。
每個呈現(xiàn)服務(wù)器211-214包含解碼器251-254、 一個或多個下面稱為圖形板231-234的圖形呈現(xiàn)設(shè)備、幀緩沖區(qū)241-244并且與顯示設(shè)備221-224相連。
通用圖形繪制命令按照其原始形式祐發(fā)送到圖形板231-234的圖形加速器。所述加速器然后將命令的結(jié)果光柵化到幀緩沖區(qū)241-244。在呈現(xiàn)服務(wù)器211-214處執(zhí)行此處理可節(jié)省處理器能力,否則所述處理將由主機(jī)系統(tǒng)202執(zhí)行。
作為一個實(shí)例實(shí)施例,平鋪式顯示器可由NxM個顯示器平鋪塊構(gòu)成,所述顯示器總分辨率為W x H個像素。每個呈現(xiàn)服務(wù)器負(fù)責(zé)具有W/N xH/M個像素的顯示器平鋪塊。
RVDD 230在被連接到能夠顯示W(wǎng) x H個像素的特殊顯示器類型時(shí)向操作系統(tǒng)報(bào)告。操作系統(tǒng)然后有效地使用能夠顯示W(wǎng) x H個像素的虛擬圖形卡。
RVDD 230并不為托管視窗系統(tǒng)提供直接幀緩沖區(qū)訪問功能,而是實(shí)現(xiàn)全部^L窗系統(tǒng)特定的加速呈現(xiàn)鉤子,-f見窗系統(tǒng)使用這些呈現(xiàn)鉤子以利用現(xiàn)4戈圖形卡上具有的硬件加速功能。
定義了繪圖連線協(xié)議,從而允許RVDD 230對每個視窗系統(tǒng)或操作系統(tǒng)特定的操作進(jìn)行編碼。例如,所述操作可包括Windows操作系統(tǒng)的圖形設(shè)備接口 (GDI)調(diào)用,或X Window系統(tǒng)的直接圖形訪問(DGA)操作。所述操作被編碼為基本繪圖操作和管理操作的有序流。
針對每個顯示部分剪切該流,從而實(shí)現(xiàn)不同的子流專用于每個不同的顯示部分。每個子流^皮發(fā)送到宿主呈現(xiàn)服務(wù)器211-214。呈現(xiàn)服務(wù)器211-214接收和執(zhí)行繪圖操作。
RVDD 230與主機(jī)系統(tǒng)202的操作系統(tǒng)功能(如多監(jiān)視器支持)集成,從而允許例如通過本地圖形板207將小型監(jiān)視器連接到主機(jī)系統(tǒng)202以及將大型顯示器墻連接到同一主機(jī)系統(tǒng)202。窗口可以被從小型監(jiān)視器拖放到大型顯示器墻以實(shí)現(xiàn)具有更高分辨率和大小的顯示。
RVDD 230始終積極響應(yīng)來自主機(jī)操作系統(tǒng)202的探查請求,從而總是出現(xiàn)在已安裝設(shè)備中。
初始化時(shí),RVDD 230將讀取配置參數(shù),其包括
*平鋪式顯示器的總體像素大小(WxH);
*顯示器平鋪塊的排列(NxM);
*顯示器間的邊框的大小(以像素表示);
*呈現(xiàn)服務(wù)器列表,帶有IP地址、屏幕ID、在平鋪矩陣中的位置。RVDD 230使用呈現(xiàn)服務(wù)器狀態(tài)和低級繪圖指令流與呈現(xiàn)服務(wù)器211-214通信。
所述呈現(xiàn)服務(wù)器狀態(tài)記錄有關(guān)如何執(zhí)行基本繪圖操作的信息。每個呈現(xiàn)服務(wù)器211-214都具有其自己的服務(wù)器狀態(tài),所述狀態(tài)可以不同于其他呈現(xiàn)服務(wù)器211-214。
繪圖狀態(tài)中存儲的信息包括
*前臺像素顏色
*后臺像素顏色*線寬(以像素表示)
*線才羊式(例如,Solid、 OnOffDash、 DoubleDash) 端點(diǎn)樣式(例如,NotLast、 Butt、 Round、 Square)*連接樣式(例如,Miter、 Round、 Bevel)*剪切區(qū)域(描述可寫入的區(qū)域的矩形列表)*填充位圖(brush bitmap )*平鋪位圖*點(diǎn)描位圖*當(dāng)前字體
*當(dāng)前字母轉(zhuǎn)換表*當(dāng)前填充參數(shù)
所有資源分配控制由RVDD 230執(zhí)行,從而不需要從呈現(xiàn)服務(wù)器211-214發(fā)送回主機(jī)系統(tǒng)202的信息。
每個呈現(xiàn)服務(wù)器211-214的幀緩沖區(qū)241-244都是真彩色RGB,其中每種顏色為8位。
指令流由基本繪圖指令的有序序列構(gòu)成。每個指令包含一個操作代碼(指令類型)和可變數(shù)量的參數(shù);M的數(shù)量取決于操作代碼??捎弥噶罴譃橐韵聨最?,管理呈現(xiàn)服務(wù)器繪圖狀態(tài);
2. 管理屏外緩沖區(qū);
3. 指針控制;
4. 執(zhí)行2D繪圖操作;
5. 執(zhí)行2D區(qū)域塊移(blit);
6. 傳輸圖像。
將使用 一個或多個呈現(xiàn)服務(wù)器操作代碼實(shí)現(xiàn)每個視窗系統(tǒng)特定的設(shè)備驅(qū)動器功能和加速鉤子。
定義了全功能RVDD實(shí)現(xiàn)所需的基本操作代碼。坐標(biāo)和大小以顯示器墻寸象素表示。顯示器墻允許操作系統(tǒng)分配通常位于每個圖形板上的"屏外存儲器"以用作屏外緩沖區(qū),后者可用于實(shí)現(xiàn)雙緩沖面或三緩沖面或加載和塊移圖
像。在每個呈現(xiàn)服務(wù)器211-214上繪制屏外圖像,從而可隨時(shí)在屏幕的任意部分上進(jìn)行塊移。
1. 管理呈現(xiàn)服務(wù)器繪圖狀態(tài)針對每個繪圖狀態(tài)值提供了 SET操作代碼。
這些操作代碼被發(fā)送到將在其中更改呈現(xiàn)狀態(tài)的特定呈現(xiàn)服務(wù)器211-214。
在RVDD 230內(nèi)部實(shí)現(xiàn)的高速緩存機(jī)制將最小化發(fā)送到呈現(xiàn)服務(wù)器211-214的狀態(tài)更改請求的數(shù)量。
2. 管理屏外緩沖區(qū)
INITBUF bufferid width height -分配和初始化屏外緩沖區(qū)FREEBUF bufferid -釋》欠屏外緩沖區(qū)4吏用的資源這些操作代碼被發(fā)送到所有呈現(xiàn)服務(wù)器211-214,并且始終在所有呈現(xiàn)節(jié)點(diǎn)上都創(chuàng)建緩沖區(qū)系統(tǒng)中存在單個bufferid空間。
3. 指針控制
MOVEPOINTERxy-將指針移到指定位置,從上一位置刪除指針并在新位置上呈現(xiàn)指針。
LOADPOINTER bufferid xoff yoff -將指針圖像和大小更改為bufferid中包含的指針圖像和大??;偏移指定了指針圖像內(nèi)的指針鉤子。
MOVEPOINTER IMt代碼被發(fā)送到將先前指針圖像位置與新的指針圖4象位置的矩形進(jìn)行交叉的呈現(xiàn)服務(wù)器。
LOADPOINTER操作代碼被發(fā)送到所有呈現(xiàn)服務(wù)器。
4. 執(zhí)行2D繪圖操作
DRAWLINE surface xl yl x2 y2 -使用當(dāng)前繪圖狀態(tài)值繪制一條從
12xl,yl到x2,y2的直線。
DRAWBEZIER surface bezierparams。DRAWBEZIERFILL surface bezierparams。DRAWELLIPSE surface ellipseparams。DRAWELLIPSEFILL surface ellipseparams 。DRAWMULTI surface [list of lines, bezier, ellipses]DRAWMULTIFILL surface [list of lines, bezier, ellipses]surface可以是幀緩沖區(qū)241-244或任何已分配的屏外緩沖區(qū)。這些操作代碼被發(fā)送到將繪制的對象進(jìn)行交叉的呈現(xiàn)服務(wù)器211-214。
5. 執(zhí)行2D區(qū)域塊移
COPY AREA surffrom, surfto x y width height tox toy。COPYBLEND surffrom surfto x y width height tox toy。COPYSCALE surffrom surfto x y width height tox toy towidthtoheight。
COPYROTATE surffrom surfto x y width height tox toyrotationparams。
CHANGEAREA( surffromid, surfto, operation, x, y, width, height, tox,toy)。
CHANGESCALE ( surffromid, surfto, operation, x, y, width, height,tox, toy, towidth, toheight)。
CHANGEROTATE ( surffromid, surfto, operation, x, y, width, height,tox, toy, rotationparams )。
surface可以是幀緩沖區(qū)241-244或任何已分配的屏外緩沖區(qū)。
這些操作代碼,iL良送到將繪制的對象進(jìn)行交叉的呈現(xiàn)服務(wù)器211-214。
6. 傳輸圖像
LOADIMAGE ( surfaceid, format, imagedata)surfaceid是任何已分配的屏外緩沖區(qū)。
該操作代碼被發(fā)送到所有呈現(xiàn)服務(wù)器211-214,這樣圖像便立即準(zhǔn)備好^L復(fù)制到任意屏幕部分上。
參考圖3,流程圖300示出了在RVDD 230處執(zhí)行的方法步驟。
RVDD將繪圖操作編碼為有序流301,針對每個呈現(xiàn)服務(wù)器將流301分為302多個部分。指令流的呈現(xiàn)服務(wù)器部分被發(fā)送304到每個呈現(xiàn)服務(wù)器。每個呈現(xiàn)服務(wù)器的呈現(xiàn)服務(wù)器繪圖狀態(tài)緩存在RVDD內(nèi),從而最小化狀態(tài)更改的發(fā)送。
參考圖4,流程圖400示出了在呈現(xiàn)服務(wù)器處執(zhí)行的方法步驟。
呈現(xiàn)服務(wù)器接收401呈現(xiàn)服務(wù)器繪圖狀態(tài)和指令流的部分。所述呈現(xiàn)服務(wù)器解碼402并執(zhí)行403繪圖操作。所述呈現(xiàn)服務(wù)器在其幀緩沖區(qū)內(nèi)光柵化404圖4象并顯示405該圖像。
本發(fā)明可以釆取完全硬件實(shí)施例、完全軟件實(shí)施例或包含硬件和軟件元素兩者的實(shí)施例的形式。在一個優(yōu)選實(shí)施例中,本發(fā)明以軟件實(shí)現(xiàn),所述軟件包括但不限于固件、駐留軟件、微代碼等。
此外,本發(fā)明可以采取可從計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)訪問的計(jì)算機(jī)程序產(chǎn)品的形式,所述計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)提供了可以被計(jì)算機(jī)或任何指令執(zhí)行系統(tǒng)使用或與計(jì)算機(jī)或任何指令執(zhí)行系統(tǒng)結(jié)合的程序代碼。出于此描述的目的,計(jì)算機(jī)可用或計(jì)算機(jī)可讀介質(zhì)可以是任何能夠包
含、存儲、傳送、傳播或傳輸由指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或與所述指令執(zhí)行系統(tǒng)、裝置或設(shè)備結(jié)合的程序的裝置。
所述介質(zhì)可以是電、磁、光、電磁、紅外線或半導(dǎo)體系統(tǒng)(或裝置或設(shè)備)或傳播介質(zhì)。計(jì)算機(jī)可讀介質(zhì)的實(shí)例包括半導(dǎo)體或固態(tài)存儲器、磁帶、可移動計(jì)算機(jī)盤、隨才4取存儲器(RAM)、只讀存儲器(ROM)、硬磁盤和光盤。光盤的當(dāng)前實(shí)例包括光盤-只讀存儲器(CD-ROM)、光盤-讀/寫(CR-R/W)和DVD。
可以在不脫離本發(fā)明范圍的情況下對上述內(nèi)容4故出改進(jìn)和修改。
權(quán)利要求
1.一種用于跨多個顯示裝置(221-224)提供合成顯示的系統(tǒng),所述系統(tǒng)包括主計(jì)算機(jī)系統(tǒng)(202),其托管能夠生成圖形輸出的應(yīng)用(201);多個呈現(xiàn)服務(wù)器(211-214),它們均與顯示裝置(221-224)相連以便顯示所述圖形輸出的一部分,每個呈現(xiàn)服務(wù)器(211-214)都包括圖形呈現(xiàn)設(shè)備(231-234);設(shè)備驅(qū)動器(230),其包括用于將所述主計(jì)算機(jī)系統(tǒng)(202)上的應(yīng)用(201)所生成的操作系統(tǒng)原始2D繪圖操作編碼為連線協(xié)議以發(fā)送到所述呈現(xiàn)服務(wù)器(211-214)進(jìn)行執(zhí)行的裝置。
2. 如權(quán)利要求l所述的系統(tǒng),其中呈現(xiàn)服務(wù)器(211-214 )上的所述圖形呈現(xiàn)設(shè)備(231-234)與其他呈現(xiàn)i殳備(231-234)并行地呈現(xiàn)繪圖操作。
3. 如權(quán)利要求1或2所述的系統(tǒng),其中圖形呈現(xiàn)i殳備(231-234 )包括將所述繪圖操作的結(jié)果光柵化到幀緩沖區(qū)(241-244)的圖形加速器。
4. 如權(quán)利要求1至3中的任一權(quán)利要求所述的系統(tǒng),其中使用低級編碼圖形指令編碼所述繪圖操作并且所述呈現(xiàn)服務(wù)器(211-214)包括解碼裝置(251-254)。
5. 如上述權(quán)利要求中的任一權(quán)利要求所述的系統(tǒng),其中所述繪圖操作為視窗系統(tǒng)特定的操作或操作系統(tǒng)特定的操作。
6. 如上述權(quán)利要求中的任一權(quán)利要求所述的系統(tǒng),其中所述設(shè)備驅(qū)動器(230)包括將所述繪圖操作分為多個部分的裝置,每個部分用于圖形呈現(xiàn)設(shè)備(231-234)之一。
7. 如上述權(quán)利要求中的任一權(quán)利要求所述的系統(tǒng),其中所述設(shè)備驅(qū)動器(230)包括定義每個呈現(xiàn)服務(wù)器(211-214)的呈現(xiàn)服務(wù)器繪圖狀態(tài)的裝置,所述呈現(xiàn)服務(wù)器繪圖狀態(tài)包括有關(guān)呈現(xiàn)服務(wù)器(211-214)如何執(zhí)行所述繪圖操作的信息。
8. 如上述權(quán)利要求中的任一權(quán)利要求所述的系統(tǒng),其中所述設(shè)備驅(qū)動器(230)包括在所述圖形呈現(xiàn)設(shè)備(231-234)中實(shí)現(xiàn)視窗系統(tǒng)特定的加速器呈現(xiàn)鉤子的裝置。
9. 如上述權(quán)利要求中的任一權(quán)利要求所述的系統(tǒng),其中所述設(shè)備驅(qū)動器(230)與所述主計(jì)算機(jī)系統(tǒng)(202)相連。
10. 如上述權(quán)利要求中的任一權(quán)利要求所述的系統(tǒng),其中所述主計(jì)算機(jī)系統(tǒng)(202 )包括本地顯示器(203 ),其獨(dú)立于所述呈現(xiàn)服務(wù)器(211-214 )的顯示器。
11. 一種設(shè)備驅(qū)動器(230),包括將應(yīng)用(201)所生成的操作系統(tǒng)原始2D繪圖操作編碼為連線協(xié)議以發(fā)送到多個呈現(xiàn)服務(wù)器(211-214)進(jìn)行執(zhí)行的裝置;將所述繪圖操作分為多個部分的裝置,不同的部分^皮發(fā)送到不同的呈現(xiàn)服務(wù)器(211-214)以便執(zhí)行。
12. —種用于跨多個顯示裝置(221-224)提^成顯示的方法,所述方法包括將應(yīng)用(201)所生成的操作系統(tǒng)原始2D繪圖操作編碼為連線協(xié)議以發(fā)送到多個呈現(xiàn)J^務(wù)器(211-214)進(jìn)行執(zhí)行;將所述繪圖操作分為多個部分,不同的部分被發(fā)送到不同的呈現(xiàn)服務(wù)器(211-214)以便并行執(zhí)行。
13. 如權(quán)利要求12所述的方法,包括定義每個呈現(xiàn)服務(wù)器(211-214)的呈現(xiàn)服務(wù)器繪圖狀態(tài),所述呈現(xiàn)服務(wù)器繪圖狀態(tài)包括與所述呈現(xiàn)服務(wù)器(211-214)如何執(zhí)行所述繪圖操作有關(guān)的信息以及設(shè)備驅(qū)動器(230)內(nèi)緩存的狀態(tài)。
14. 如權(quán)利要求13所述的方法,包括僅在需要時(shí)才將編碼后的繪圖操作部分和所述呈現(xiàn)服務(wù)器繪圖狀態(tài)發(fā)送到呈現(xiàn)服務(wù)器(211-214)。
15. 如權(quán)利要求12至14中的任一權(quán)利要求所述的方法,其中對繪圖操作進(jìn)行編碼提供了包括所述操作的操作代碼和變量參數(shù)的有序繪圖指令流o
16. 如權(quán)利要求12至15中的任一權(quán)利要求所述的方法,其中呈現(xiàn)服務(wù)器(211-214)包括帶有圖形加速器的圖形呈現(xiàn)設(shè)備(231-234),所述圖形加速器將所述繪圖操作的結(jié)果光柵化到幀緩沖區(qū)(241-244)。
17. 如權(quán)利要求16所述的方法,包括在所述圖形呈現(xiàn)設(shè)備(231-234 )中實(shí)現(xiàn)視窗系統(tǒng)特定的加速器呈現(xiàn)鉤子。
18. —種存儲在計(jì)算機(jī)可讀存儲介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括執(zhí)行以下步驟的計(jì)算機(jī)可讀程序代碼裝置將應(yīng)用(201)所生成的操作系統(tǒng)原始2D繪圖操作編碼為連線協(xié)議以發(fā)送到多個呈現(xiàn)服務(wù)器(211-214 )進(jìn)行執(zhí)行;將所述繪圖操作分為多個部分,不同的部分^J良送到不同的呈現(xiàn)服務(wù)器(211-214)以便并行執(zhí)行。
全文摘要
提供了一種用于跨多個顯示裝置(221-224)提供合成顯示的系統(tǒng)。主計(jì)算機(jī)系統(tǒng)(202)托管能夠生成圖形輸出的應(yīng)用(201),并且提供了多個呈現(xiàn)服務(wù)器(211-214),每個呈現(xiàn)服務(wù)器(211-214)均與顯示裝置(221-224)相連以便顯示所述圖形輸出的一部分。提供了設(shè)備驅(qū)動器(230),其包括用于將所述主計(jì)算機(jī)系統(tǒng)(202)上的應(yīng)用(201)所生成的操作系統(tǒng)原始2D繪圖操作編碼(231)為連線協(xié)議以發(fā)送到所述呈現(xiàn)服務(wù)器(211-214)進(jìn)行執(zhí)行的裝置。所述呈現(xiàn)服務(wù)器(211-214)均包括圖形呈現(xiàn)設(shè)備(231-234),后者與其他呈現(xiàn)設(shè)備(231-234)并行地呈現(xiàn)所述繪圖操作。
文檔編號G06F3/14GK101663640SQ200780052837
公開日2010年3月3日 申請日期2007年8月21日 優(yōu)先權(quán)日2007年6月27日
發(fā)明者D·帕塞多 申請人:國際商業(yè)機(jī)器公司