麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

隊列存儲翻頁指令減少閑置時間的計算機繪圖系統與方法

文檔序號:6656996閱讀:390來源:國知局
專利名稱:隊列存儲翻頁指令減少閑置時間的計算機繪圖系統與方法
技術領域
本發明涉及一種計算機繪圖系統與方法,特別是涉及以隊列存儲翻頁指令來減少閑置時間的計算機繪圖系統與方法。


圖1所示為一般3D顯示控制流程。在一般的3D(3維)顯示的控制流程中,3D應用程序100使用一些如Direct3D以及OpenGL等特殊3D圖形數據庫101來輔助最終3D顯示的設計。這些圖形數據庫101將3D對象轉換成具有繪圖屬性(drawing attribute)的圖形數據元素(primitive)。該3D對象(object)從定義對象的實體座標(world coordinate)被轉換成定義屏幕上投影座標位置的屏幕座標(screen coordinate)。之后,顯示裝置驅動器103將具有特殊硬件指令的圖形數據元素傳送至圖形加速裝置104,再利用該圖形加速裝置104將圖形描繪于顯示器105上。
圖2顯示一般應用于3D顯示控制流程的圖形加速裝置的控制方塊圖。如圖2所示,一般的圖形加速裝置104包含一指令隊列106、一繪圖引擎(engine)107以及一存儲器控制器108。指令隊列106經由系統總線從顯示裝置驅動器103接收3D圖形數據元素的繪圖指令,并以隊列方式存儲這些指令。接著,繪圖引擎107依序接收指令隊列106的指令并加以執行。繪圖引擎107所計算并產生的數據利用存儲器控制器108經由存儲器總線存儲至圖形存儲器109。
在多媒體動畫的應用中,繪圖系統一般都使用兩組或多組的存儲器緩沖器來存儲數據。如圖3所示,是一種使用三組存儲器緩沖器的繪圖系統。第一組緩沖器是所謂的前臺緩沖器(front buffer),其余的緩沖器則稱為后臺緩沖器(back buffer)。當系統在顯示前臺緩沖器的影像時,3D的描繪系統可以將新的影像數據寫入后臺緩沖器。換言之,即描繪系統描繪下一張顯示的影像于后臺緩沖器時,顯示系統則將前臺緩沖器的影像顯示于屏幕上。而當后臺緩沖器的影像完成時,繪圖系統即可進行翻頁(flip)動作,將完成的后臺緩沖器切換成前臺緩沖器,由此顯示完成的影像。所以,只要動畫需要,此切換動作即持續進行,如圖3B與圖3C所示。
當繪圖系統在后臺緩沖器完成下一張圖片的所有圖形數據元素(primitive)后,該繪圖系統即產生一緩沖器翻頁指令。在繪圖系統完成下一張圖片并請求翻頁功能之后,若前臺緩沖器的影像仍在顯示,則顯示裝置控制器不會允許繪圖程序將新的影像描繪在仍在顯示的緩沖器上。因此,為了避免造成影像撕裂(tearing),影像裝置控制器會持續詢問,并等到繪圖引擎107閑置(idle)以及檢測到顯示器的垂直同步信號后才進行翻頁指令。此種翻頁方式即所謂的軟件翻頁。但是在此種狀態下,當遇到翻頁指令時,該指令會停留在指令隊列,且影像裝置控制器會持續詢問是否可進行翻頁,造成主機(host)的動作會被閑置且應用程序停止(stalled),直到圖形加速裝置完成翻頁指令。所以,此種軟件翻頁的控制流程會浪費繪圖引擎的資源。
鑒于上述問題,本發明的一個目的是提供一種利用硬件控制翻頁指令的來減少閑置時間的計算機繪圖系統與方法。
本發明的另一目的是提供一種以硬件隊列存儲翻頁指令來減少閑置時間的計算機繪圖系統與方法。
為達到上述目的,本發明提供一種以隊列存儲翻頁指令來減少閑置時間的計算機繪圖系統,包括一指令隊列,用于從一系統總線接收指令;一繪圖引擎,用于接收所述指令隊列所輸出的指令,并執行繪圖動作;一翻頁指令隊列,用于接收所述指令隊列的翻頁指令;以及一顯示控制器,用于控制影像顯示動作;其中所述指令隊列在所述繪圖引擎閑置且翻頁指令隊列還有空間時,先將翻頁指令傳給該翻頁指令隊列,而將后續的非翻頁指令傳送至所述繪圖引擎,以減少繪圖引擎的閑置時間。
另外,本發明的翻頁指令隊列在繪圖引擎閑置且收到顯示控制器傳來的垂直觸發信號時,才送出一翻頁指令。
本發明還提供一種一種以隊列存儲翻頁指令來減少閑置時間的計算機繪圖方法,包括以下步驟接收指令,由一指令隊列從系統總線接收并存儲指令;執行繪圖,由一繪圖引擎接收所述指令隊列的繪圖指令,并執行繪圖動作;存儲翻頁指令,在所述繪圖引擎閑置時,由一翻頁指令隊列接收并存儲所述指令隊列的翻頁指令;以及進行翻頁,當所述翻頁指令隊列存儲有翻頁指令并且檢測到影像垂直觸發信號時,執行翻頁動作,并送出存儲在所述翻頁指令隊列的一翻頁指令;通過事先將翻頁指令傳給所述翻頁指令隊列,將后續的非翻頁指令繼續傳送至所述繪圖引擎,從而減少繪圖引擎的閑置時間。
由于本發明的以硬件隊列存儲翻頁指令來減少閑置時間的計算機繪圖系統與方法利用位于圖形加速裝置內的翻頁隊列預先存儲翻頁指令,并在檢測到顯示器的垂直同步信號后,才執行翻頁指令。因此,繪圖引擎可在等待垂直同步信號的期間,繼續進行繪圖指令的執行,而減少顯示裝置驅動器閑置等待的時間,提高圖形加速裝置的效率。
以下參考附圖,詳細說明本發明以隊列存儲翻頁指令來減少閑置時間的計算機繪圖系統的優選實施例。
圖1為傳統的3D顯示控制流程。
圖2為傳統的圖形加速裝置的方塊圖。
圖3為傳統的使用后臺緩沖器的示意圖。
圖4為本發明的實施例使用的圖形加速裝置的方塊圖。
圖5為本發明的實施例使用的指令與存儲器緩沖器的配置圖。
附圖標號說明10圖形加速裝置11指令隊列12繪圖引擎13翻頁指令隊列14存儲器控制器圖4顯示按照本發明的一個實施例的計算機繪圖系統的圖形加速裝置的方塊圖。如圖4所示,圖形加速裝置10包含指令列隊11、繪圖引擎12、翻頁指令隊列13以及存儲器控制器14。其中,指令隊列11經由系統總線從顯示裝置驅動器103讀取指令,而繪圖引擎12依序接收指令隊列11的繪圖指令并加以執行。繪圖引擎12所計算并產生的數據則利用存儲器控制器14經由存儲器總線存儲至圖形存儲器(圖中未示出)。
其次,翻頁指令隊列13為一個存儲器隊列,用來接收從指令隊列11傳來的翻頁指令。翻頁指令隊列13的存儲器容量根據所使用的后臺緩沖器的個數決定,即后臺緩沖器的個數越多,翻頁指令列隊13的存儲器容量必須越大。該翻頁指令隊列13在隊列已滿時,會傳送一隊列已滿信號至指令隊列11,用來通知指令隊列11不可送出繪圖指令至繪圖引擎12,因此時已沒有可描繪的后臺緩沖器。
存儲于指令隊列11的指令可被區分成兩類,一類是傳送至繪圖引擎12的繪圖指令,而另一類是傳送至翻頁指令隊列13的翻頁指令。當繪圖引擎12將一影像描繪完畢并處于閑置狀態時,指令隊列11會將一翻頁指令傳送至翻頁指令隊列13存儲。因此該翻頁指令不會停留在指令隊列11,所以不會阻擋后續的下一張影像的繪圖指令繼續傳送至繪圖引擎12。進一步,當翻頁指令隊列13存儲有至少一個翻頁指令時,該翻頁指令隊列13會持續檢測顯示器的顯示狀態。當翻頁指令隊列13檢測到顯示器的垂直同步信號時,該翻頁指令隊列13即送出(pop-out)一翻頁指令,并通知存儲器控制器14執行翻頁動作。
所以,本發明的圖形加速裝置可有效利用繪圖引擎12閑置后至產生顯示器的垂直同步信號的時間,使繪圖引擎12利用該段時間繼續處理繪圖指令,進而減少圖形加速裝置的等待時間。
圖5說明應用于本發明的實施例的指令與存儲器的關系圖。如圖5所示,本發明所使用的緩沖器包含區域A、B與C。區域A目前為前臺緩沖器,并存儲第Fn-1個畫面的影像。區域B目前為第一后臺緩沖器,并存儲第Fn個畫面的影像。區域C目前為第二后臺緩沖器,并存儲第Fn+1個畫面的影像。顯示于圖5的連續指令為Cn-2、Cn-1、Cn、Flip、Cn+2、Cn+3、Cn+4、...。因此,如圖5所示,繪圖指令Cn-2、Cn-1、Cn會被描繪于區域B的第一后臺緩沖器,而繪圖指令Cn+2、Cn+3、Cn+4、...會被描繪于區域C的第二后臺緩沖器。當屬于第Fn個畫面的影像的指令被執行完畢時,繪圖引擎12即送出閑置信號(idle),此時Flip指令即從指令隊列11被推入翻頁指令隊列13。因此,指令隊列11即可繼續將屬于第Fn+1個畫面的影像的指令Cn+2、Cn+3、Cn+4、...發送至繪圖引擎12,不需等到顯示器的垂直同步信號產生。
所以,本發明利用翻頁指令隊列事先存儲翻頁指令,讓下一張畫面的繪圖指令可繼續發送至繪圖引擎,而不必等到前臺緩沖器的影像顯示完畢。這樣,可有效減少繪圖引擎的閑置等待時間,提高了圖形處理的效率。
以上雖然用本發明的優選實施例詳細說明了本發明以隊列存儲翻頁指令來減少閑置時間的計算機繪圖系統和方法,但本發明并不局限于此。只要不脫離本發明的精神與范圍,本領域技術人員可進行各種變形或變更。本發明的保護范圍由所附權利要求書來界定。
權利要求
1.一種以隊列存儲翻頁指令來減少閑置時間的計算機繪圖系統,包括一指令隊列,用于從一系統總線接收指令;一繪圖引擎,用于接收所述指令隊列所輸出的指令,并執行繪圖動作;一翻頁指令隊列,用于接收所述指令隊列的翻頁指令;以及一顯示控制器,用于控制影像顯示動作;其中所述指令隊列在所述繪圖引擎閑置且翻頁指令隊列還有空間時,先將翻頁指令傳給該翻頁指令隊列,而將后續的非翻頁指令傳送至所述繪圖引擎,以減少繪圖引擎的閑置時間。
2.如權利要求1所述的以隊列存儲翻頁指令來減少閑置時間的計算機繪圖系統,其中所述翻頁指令隊列在收到所述顯示控制器傳來的垂直觸發信號時,送出一翻頁指令。
3.如權利要求1所述的以隊列存儲翻頁指令來減少閑置時間的計算機繪圖系統,其中所述翻頁指令隊列傳送一隊列已滿信號至所述指令隊列。
4.一種以隊列存儲翻頁指令來減少閑置時間的計算機繪圖方法,包括以下步驟接收指令,由一指令隊列從系統總線接收并存儲指令;執行繪圖,由一繪圖引擎接收所述指令隊列的繪圖指令,并執行繪圖動作;存儲翻頁指令,在所述繪圖引擎閑置時,由一翻頁指令隊列接收并存儲所述指令隊列的翻頁指令;以及進行翻頁,當所述翻頁指令隊列存儲有翻頁指令并且檢測到影像垂直觸發信號時,執行翻頁動作,并送出存儲在所述翻頁指令隊列的一翻頁指令;通過事先將翻頁指令傳給所述翻頁指令隊列,將后續的非翻頁指令繼續傳送至所述繪圖引擎,從而減少繪圖引擎的閑置時間。
5.如權利要求4所述的以隊列存儲翻頁指令來減少閑置時間的計算機繪圖方法,其中還包含由所述翻頁指令隊列傳送一隊列已滿信號至所述指令隊列的步驟。
全文摘要
一種以隊列存儲翻頁指令來減少閑置時間的計算機繪圖系統及方法,包括:指令隊列,從系統總線接收指令;繪圖引擎,接收所述指令隊列所輸出的指令,并執行繪圖動作;一翻頁指令隊列,接收所述指令隊列的翻頁指令;以及顯示控制器,控制影像顯示動作;指令隊列在所述繪圖引擎閑置且翻頁指令隊列還有空間時,先將翻頁指令傳給該翻頁指令隊列,而將后續的非翻頁指令傳送至繪圖引擎,以減少繪圖引擎的閑置時間。翻頁指令隊列在繪圖引擎閑置且收到顯示控制器傳來的垂直觸發信號時,送出一翻頁指令。
文檔編號G06F9/06GK1377011SQ01111900
公開日2002年10月30日 申請日期2001年3月26日 優先權日2001年3月26日
發明者葉國煒, 蔡忠宏, 涂俊安 申請人:矽統科技股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 扎兰屯市| 蛟河市| 玉田县| 万宁市| 泰兴市| 诸暨市| 邳州市| 正阳县| 舞钢市| 绥棱县| 宁远县| 哈尔滨市| 拉孜县| 黑龙江省| 馆陶县| 锡林浩特市| 四川省| 石嘴山市| 中牟县| 双柏县| 务川| 望都县| 四子王旗| 锡林浩特市| 平泉县| 儋州市| 电白县| 双牌县| 依兰县| 沧州市| 贵南县| 镇康县| 美姑县| 佛冈县| 拜泉县| 普陀区| 鹤庆县| 盐津县| 邮箱| 墨玉县| 宣城市|