專利名稱:一種加速機頂盒顯示速度的方法
技術領域:
本發明涉及一種加速機頂盒顯示速度的方法,特別是采用混合驅動的方式加快機 頂盒顯示速度的方法。
背景技術:
傳統的數字電視機頂盒中使用操作顯示緩沖區來進行OSD輸出時,由于使用CPU 作為主要的數據搬遷設備,除了占用大量的CPU時間外,當在一段時間內需要大量繪制圖 形圖像時,會出現鋸齒狀顯示,內容越多鋸齒也越多,并且當應用程序負擔太重時,會造成 OSD更新緩慢,讓用戶有刷屏的感覺。在使用2D加速功能來完成OSD繪制時,當系統調用 大量畫點操作,系統就會出現極其緩慢的繪制過程,特別是寫字、畫點線面等大量畫點操作 時,繪圖卡頓會更加明顯。同時,在繪制帶有透明色的圖片數據時速度更加緩慢。
發明內容
為了克服上述技術背景的不足,本發明開發一種采用混合驅動的方式加快機頂盒 顯示速度的方法。為了實現上述目的,本發明的技術方案為
一種加速機頂盒顯示速度的方法,所述方法包括如下步驟
步驟1 設計一種通用的圖形圖像顯示接口,該接口主要包括DraWPixel、FillRect, PutData、GetDate、PurDataMask 函數;
DrawPixel 用來繪制一個像素點到屏幕上;
FillRect 繪制一個矩形框,用于進行大量矩形圖形繪制時使用;
PutData 用于把給定的圖像數據繪制到屏幕上;
GetDate 用于得到屏幕中的圖像數據;
PurDataMask 用于把帶有透明色信息的圖像繪制到屏幕上;
步驟2 設計的圖形圖像顯示接口中的各函數采用混合驅動加速機頂盒顯示速度。本發明中,所述步驟2中的混合驅動方式的操作為
1)采用2D加速繪制矩形框的函數FillRect和已經繪的制圖像數據繪制到屏幕的函數 PutData ;當需要大量繪制操作時,2D加速幫助CPU來完成矩形框的填充和已經繪制的圖像 數據繪制到屏幕的輸出工作。傳統采用顯示緩沖區作為主要的圖形圖像輸出操作,當大量頻繁繪制圖像數據時 會出現的屏幕鋸齒感和大量占用CPU,本發明使用2D來實現繪制矩形框的函數FillRect和 已經繪制的圖像數據繪制到屏幕的函數PutData。這樣進行大量繪制操作時,2D加速幫助 CPU來完成矩形框的填充和已經繪制的圖像數據繪制到屏幕的輸出工作,大量減輕CPU的 負擔,同時不會出現鋸齒感。其中函數FillRect的操作為通過2D加速引擎,把需要顯示的位置、矩形的長和 高,以及填充的顏色設置到2D加速引擎的矩形繪制隊列中,啟動2D加速的隊列。這樣2D加
3速引擎會執行繪制隊列,把需要的數據搬遷到指定的顯示緩沖區中,而不需要CPU的幫助, 減少CPU的負擔。其中函數PutData的操作為通過2D加速引擎,把需要顯示的位置、圖片數據的長 和高以及填充的圖片數據設置到2D加速數據填充的矩形繪制隊列中,啟動2D加速的隊列。 這樣2D加速引擎執行繪制隊列,把需要的數據搬遷到指定的顯示緩沖區中,而不需要CPU 的幫助,減少CPU的負擔。2)采用直接向顯示緩沖區輸出數據的方式,通過DrawPixel函數來進行相應的大 量畫點的操作。針對使用2D繪制需要大量畫點操作的地方出現繪制緩慢的問題,本發明中采用 直接向顯示緩沖區輸出數據的方式,通過DrawPixel函數來進行相應的大量畫點的操作, 從而解決使用2D加速過程中繪制緩慢的問題。其中,所述需要大量畫點的操作為字符、圓或多邊形等。在繪制大量畫點的操作過程中直接使用DrawPixel函數,函數中對指定坐標計 算出它們在顯示緩沖區中的位置,把需要設置的顏色值直接寫到算出的顯示緩沖區的位 置上。假設需要的設置畫點函數的坐標為(X,y),顯示緩沖區的起始地址為addr,屏幕的 寬為《,高為h,每個像素占用的字節數為b,通過DrawPixel函數寫入的顏色值的位置為
addr+w氺y氺b+x氺b。3)當繪制帶有透明色的圖片數據時,采用PurDataMask函數直接向顯示緩沖區輸 出數據;
本發明中,通過PurDataMask函數直接向顯示緩沖區輸出數據,解決2D加速功能繪制 帶有透明色的圖片數據時速度更加的緩慢的問題。在生成圖片數據時,對圖片中有透明色的圖片進行標注,當遇到沒有透明色標注 的圖片時,直接使用PutData函數通過2D快速繪制,當遇到有透明色標注的圖片則讀取圖 片的每個像素判斷是否為透明色,如果不是則直接使用DrawPixel繪制像素點,如果是則 跳過,判斷下一個像素點,直到把圖片數據全部判斷完畢,以此來實現對帶透明色圖片繪 制。4)當存在彈框等操作時,使用GetDate函數來讀取需要顯示彈框的區域的數據, 把它們保存下來,然后繪制彈框;當彈框消失的操作后,直接使用保存下來的數據繪制到所 需的區域,來加速繪制的過程,而不用重新繪制整個屏幕。本發明中,通過設置一種通用的圖形圖像顯示接口的多個函數混合驅動,不占用 大量CPU時間,即使大量繪制圖形圖像時,系統也能流暢的顯示;通過2D加速引擎,系統進 行大量畫點操作時,不會出現卡頓現象;在繪制帶有透明色的圖片數據時速度較快。總之, 采用設置圖形圖像顯示接口的多個函數混合驅動,有效的解決在數字電視機頂盒界面繪制 圖形圖像中出現的種種問題,提高繪圖效率,使用戶可以更好的享受機頂盒流暢的顯示過 程。
具體實施例方式下面結合具體實施例對本發明進行進一步描述。本發明提供一種加速機頂盒顯示速度的方法,所述方法包括如下步驟一種加速機頂盒顯示速度的方法,所述方法包括如下步驟
步驟1 設計一種通用的圖形圖像顯示接口,該接口主要包括DraWPixel、FillRect, PutData、GetDate、PurDataMask 函數;
DrawPixel 用來繪制一個像素點到屏幕上;
FillRect 繪制一個矩形框,用于進行大量矩形圖形繪制時使用;
PutData 用于把給定的圖像數據繪制到屏幕上;
GetDate 用于得到屏幕中的圖像數據;
PurDataMask 用于把帶有透明色信息的圖像繪制到屏幕上;
步驟2 設計的圖形圖像顯示接口中的各函數采用混合驅動加速機頂盒顯示速度。本發明中,所述步驟2中的實現混合驅動方式的操作為
1)采用2D加速繪制矩形框的函數FillRect和已經繪的制圖像數據繪制到屏幕的函數 PutData ;當需要大量繪制操作時,2D加速幫助CPU來完成矩形框的填充和已經繪制的圖像 數據繪制到屏幕的輸出工作。傳統采用顯示緩沖區作為主要的圖形圖像輸出操作,當大量頻繁繪制圖像數據時 會出現的屏幕鋸齒感和大量占用CPU,本發明使用2D來實現繪制矩形框的函數FillRect和 已經繪制的圖像數據繪制到屏幕的函數PutData。這樣進行大量繪制操作時,2D加速幫助 CPU來完成矩形框的填充和已經繪制的圖像數據繪制到屏幕的輸出工作,大量減輕CPU的 負擔,同時不會出現鋸齒感。其中函數FillRect的操作為通過2D加速引擎,把需要顯示的位置、矩形的長和 高,以及填充的顏色設置到2D加速引擎的矩形繪制隊列中,啟動2D加速的隊列。這樣2D加 速引擎會執行繪制隊列,把需要的數據搬遷到指定的顯示緩沖區中,而不需要CPU的幫助, 減少CPU的負擔。其中函數PutData的操作為通過2D加速引擎,把需要顯示的位置、圖片數據的長 和高以及填充的圖片數據設置到2D加速數據填充的矩形繪制隊列中,啟動2D加速的隊列。 這樣2D加速引擎執行繪制隊列,把需要的數據搬遷到指定的顯示緩沖區中,而不需要CPU 的幫助,減少CPU的負擔。2)采用直接向顯示緩沖區輸出數據的方式,通過DrawPixel函數來進行相應的大 量畫點的操作。針對使用2D繪制需要大量畫點操作的地方出現繪制緩慢的問題,本發明中采用 直接向顯示緩沖區輸出數據的方式,通過DrawPixel函數來進行相應的大量畫點的操作, 從而解決使用2D加速過程中繪制緩慢的問題。其中,所述需要大量畫點的操作為字符、圓或多邊形等。在繪制大量畫點的操作過程中直接使用DrawPixel函數,函數中對指定坐標計 算出它們在顯示緩沖區中的位置,把需要設置的顏色值直接寫到算出的顯示緩沖區的位 置上。假設需要的設置畫點函數的坐標為(X,y),顯示緩沖區的起始地址為addr,屏幕的 寬為w,高為h,每個像素占用的字節數為b,通過DrawPixel函數寫入的顏色值的位置為
addr+w氺y氺b+x氺b。3)當繪制帶有透明色的圖片數據時,采用PurDataMask函數直接向顯示緩沖區輸 出數據。
本發明中,通過PurDataMask函數直接向顯示緩沖區輸出數據,解決2D加速功能 繪制帶有透明色的圖片數據時速度更加的緩慢的問題。在生成圖片數據時,對圖片中有透明色的圖片進行標注,當遇到沒有透明色標注 的圖片時,直接使用PutData函數通過2D快速繪制,當遇到有透明色標注的圖片則讀取圖 片的每個像素判斷是否為透明色,如果不是則直接使用DrawPixel繪制像素點,如果是則 跳過,判斷下一個像素點,直到把圖片數據全部判斷完畢,以此來實現對帶透明色圖片繪 制。4)當存在彈框等操作時,使用GetDate函數來讀取需要顯示彈框的區域的數據, 把它們保存下來,然后繪制彈框;當彈框消失的操作后,直接使用保存下來的數據繪制到所 需的區域,來加速繪制的過程,而不用重新繪制整個屏幕。
權利要求
一種加速機頂盒顯示速度的方法,其特征在于所述方法包括如下步驟步驟1設計一種通用的圖形圖像顯示接口,該接口主要包括DrawPixel、FillRect、PutData、GetDate、PurDataMask函數;DrawPixel用來繪制一個像素點到屏幕上;FillRect繪制一個矩形框,用于進行大量矩形圖形繪制時使用;PutData用于把給定的圖像數據繪制到屏幕上;GetDate用于得到屏幕中的圖像數據;PurDataMask用于把帶有透明色信息的圖像繪制到屏幕上;步驟2設計的圖形圖像顯示接口中的各函數采用混合驅動加速機頂盒顯示速度。
2.根據權利要求1所述的加速機頂盒顯示速度的方法,其特征在于所述步驟2中的 混合驅動方式的操作為1)采用2D加速繪制矩形框的函數FillRect和已經繪制的圖像數據繪制到屏幕的函數 PutData ;當需要大量繪制操作時,2D加速幫助CPU來完成矩形框的填充和已經繪制的圖像 數據繪制到屏幕的輸出工作;2)采用直接向顯示緩沖區輸出數據的方式,通過DrawPixel函數來進行相應的需要大 量畫點的操作;3)當繪制帶有透明色的圖片數據時,采用PurDataMask函數直接向顯示緩沖區輸出數據;4)當存在彈框操作時,使用GetDate函數來讀取需要顯示彈框區域的數據,保存該數 據,然后繪制彈框;當彈框消失的操作后,直接使用保存下來的數據繪制到所需的區域。
3.根據權利要求2中所述的加速機頂盒顯示速度的方法,其特征在于所述混合驅動 操作的步驟1中函數FillRect的操作為是通過2D加速引擎,把需要顯示的位置、矩形的長 和高,以及填充的顏色設置到2D加速引擎的矩形繪制隊列中,啟動2D加速的隊列。
4.根據權利要求2中所述的加速機頂盒顯示速度的方法,其特征在于所述混合驅動 操作的步驟1中函數PutData的操作是通過2D加速引擎,把需要顯示的位置、圖片數據的 長和高,以及填充的圖片數據設置到2D加速數據填充的矩形繪制隊列中,啟動2D加速的隊 列。
5.根據權利要求2中所述的加速機頂盒顯示速度的方法,其特征在于所述混合驅動 操作的步驟2中的需要大量畫點的操作為字符、圓或多邊形。
6.根據權利要求2中所述的加速機頂盒顯示速度的方法,其特征在于所述混合驅動 操作的步驟2中,在繪制大量畫點的過程中直接使用DrawPixel函數時,函數中對指定坐標 計算出它們在顯示緩沖區中的位置,把需要設置的顏色值直接寫到算出的顯示緩沖區的位 置上。
7.根據權利要求2中所述的加速機頂盒顯示速度的方法,其特征在于所述混合驅動 操作的步驟3中,在生成圖片數據時,對圖片中有透明色的圖片進行標注,當遇到沒有透明 色標注的圖片時使用PutData函數通過2D快速繪制,當遇到有透明色標注的圖片則讀取圖 片的每個像素判斷是否為透明色,如果不是則直接使用DrawPixel繪制像素點,如果是則 跳過,判斷下一個像素點,直到把圖片數據全部判斷完畢。
全文摘要
本發明公開一種加速機頂盒顯示速度的方法,所述方法包括如下步驟步驟1設計一種通用的圖形圖像顯示接口,步驟2設計的圖形圖像接口的函數采用混合驅動加速機頂盒顯示速度。本發明中,利用以上的方法加速機頂盒的顯示速度,不占用大量CPU時間,即使大量繪制圖形圖像時,系統也能流暢的顯示;當系統調用大量畫點操作時,不會出現卡頓現象;在繪制帶有透明色的圖片數據時速度較快。總之,采用設置圖形圖像顯示接口的多個函數混合驅動,有效的解決了在數字電視機頂盒界面繪制圖形圖像中出現的種種問題,提高繪圖效率,使用戶可以更好的享受機頂盒流暢的顯示過程。
文檔編號G06F9/44GK101883207SQ20101022630
公開日2010年11月10日 申請日期2010年7月14日 優先權日2010年7月14日
發明者方立 申請人:福建新大陸通信科技股份有限公司