專利名稱:網頁繪制系統和方法
技術領域:
本發明涉及到互聯網技術領域,特別涉及到一種網頁繪制系統和方法。
背景技術:
隨著互聯網技術的發展,網頁瀏覽器的應用范圍越來越廣,從最初運行在PC(個人電腦),延伸到現在的手機、電視等嵌入式設備。目前webkit是主流的瀏覽器引擎之一,webkit被廣泛的移植到不同的嵌入式設備。webkit引擎是瀏覽器的核心,負責網頁的解析排版和渲染,它依賴于其他一些功能庫(如cairo, libcurl, libfreetype, lib jpeg等),由這些功能庫提供數據下載,圖片解碼,繪圖等功能。現有利用Cairo和Pixman組成的繪制模塊能完整的完成圖片的繪制操作,缺點是完全使用軟件算法來進行繪圖,性能一般,且完全通過軟件繪制的方法在系統可利用率較低時,難以提升繪制的速度,導致顯示速度較慢。現有的嵌入式平臺,例如DirectFB( —個輕量級的提供硬件圖形加速,輸入設備處理和抽象的圖形庫),往往或多或少會提供一部分硬件加速能力,但DirectFB對設備的硬件加速功能進行了封裝,對外可以提供硬件加速功能,缺點是它只提供簡單的繪圖接口,對于瀏覽器級別的繪圖來說,遠遠不夠。因此,在嵌入式設備系統可利用率較低時,如何利用嵌入式設備中的硬件加速功能來提升繪圖模塊的繪制速度,加快網頁顯示速度是待解決的問題。
發明內容
本發明的主要目的是為了提供一種網頁繪制系統,有效加速瀏覽器網頁繪制,減輕CPU負擔,進而提高用戶瀏覽網頁的速度,。此外,本發明還提出一種網頁繪制方法。本發明提出一種網頁繪制系統,該系統包括獲取模塊,用于接收與網頁瀏覽指令對應的網頁數據,并從接收的網頁數據中提取出待繪制的圖形元素;創建模塊,用于創建硬件加速緩存區以及圖片緩存區;解碼模塊,用于將與硬件加速緩存區顏色格式相同的圖形元素解碼到硬件加速緩存區內,及將與硬件加速緩存區顏色格式不同的圖形元素解碼到圖片緩存區內;分析模塊,用于分析加速緩存區內的圖形元素是否適用硬件加速進行繪制;繪制模塊,用于當適用硬件加速繪圖時,調用硬件加速接口對硬件加速緩存區內適用硬件加速的圖形元素進行繪圖操作;及當不適用硬件加速繪圖時,調用預設的軟件算法對不適用硬件加速的圖形元素進行繪圖操作;顯示模塊,用于將繪制好的內容拷貝到幀緩沖區上進行顯示。優選地,該網頁繪制系統中,分析模塊分析硬件加速緩沖區內的圖形元素是否適用硬件加速進行繪制的條件包括繪圖操作的源必須是顏色值或來自于硬件加速緩存區;繪圖操作的目標必須是硬件加速緩存區;繪圖操作的源或者目標沒有要求非矩形裁剪;及繪圖操作的源不要求變形。優選地,該網頁繪制系統中,繪制模塊調用硬件加速接口進行的繪圖操作包括將一硬件加速緩存區上的一塊矩形區域拷貝到另一塊硬件加速緩存區上;或將一硬件加速緩存區上的一塊矩形區域縮放到另一塊硬件加速緩存區上;或將一硬件加速緩存區上的一塊矩形區域合成到另一塊硬件加速緩存區上;或將一硬件加速緩存區上的一塊矩形區填充顏色。優選地,該網頁繪制系統中,分析模塊還用于分析對硬件加速緩存區內的圖形元素的繪圖操作是否是同步模式;在當前對硬件加速緩存區內的圖形元素的繪圖操作是同步模式時,繪圖模塊同步對硬件加速緩存區內不適用硬件加速的圖形元素采用預設的軟件算法進行繪圖操作;或在當前對硬件加速緩存區內的圖形元素的繪圖操作是異步模式時,繪圖模塊調用同步模式后,同步對硬件加速緩存區內不適用硬件加速的圖形元素采用預設的軟件算法進行繪圖操作。一種網頁繪制方法,包括步驟:A、接收與網頁瀏覽指令對應的網頁數據,并從接收的網頁數據中提取出待繪制的圖形元素、創建硬件加速緩存區以及圖片緩存區;C、將與硬件加速緩存區顏色格式相同的圖形元素解碼到硬件加速緩存區內,及將與硬件加速緩存區顏色格式不同的圖形元素解碼到圖片緩存區內;D、分析加速緩存區內的圖形元素是否適用硬件加速進行繪制;E、當適用硬件加速繪圖時,調用硬件加速接口對硬件加速緩存區內適用硬件加速的圖形元素進行繪圖操作;及當不適用硬件加速繪圖時,調用預設的軟件算法對不適用硬件加速的圖形元素進行繪圖操作;F、將繪制好的內容拷貝到幀緩沖區上進行顯示。優選地,該網頁繪制方法,步驟D分析硬件加速緩沖區內的圖形元素是否適用硬件加速進行繪制的條件包括D1、繪圖操作的源必須是顏色值或者來自于硬件加速緩存區;D2、繪圖操作的目標必須是硬件加速緩存區;D3、繪圖操作的源或者目標沒有要求非矩形裁剪;及04、繪圖操作的源不要求變形。優選地,該網頁繪制方法,步驟E中調用硬件加速接口進行的繪圖操作包括a、將一硬件加速緩存區上的一塊矩形區域拷貝到另一塊硬件加速緩存區上;或13、將一硬件加速緩存區上的一塊矩形區域縮放到另一塊硬件加速緩存區上;或C、將一硬件加速緩存區上的一塊矩形區域合成到另一塊硬件加速緩存區上;或d、將一硬件加速緩存區上的一塊矩形區填充顏色。優選地,該網頁繪制方法,步驟E中調用預設的軟件算法對不適用硬件加速的圖形元素進行繪圖操作的步驟還包括E1、分析對硬件加速緩存區內的圖形元素的繪圖操作是否是同步模式 '及;E2、在當前對硬件加速緩存區內的圖形元素的繪圖操作是同步模式時,同步對硬件加速緩存區內不適用硬件加速的圖形元素采用預設的軟件算法進行繪圖操作;*E3、在當前對硬件加速緩存區內的圖形元素的繪圖操作是異步模式時,調用同步模式后,同步對不適用硬件加速的圖形元素采用預設的軟件算法進行繪圖操作。本發明提供一種網頁繪制的系統和方法,相較現有技術來講,充分利用硬件加速接口來完成瀏覽器中的繪制過程,通過有效的加速瀏覽器繪制過程,減輕CPU的負擔,進而提高了用戶瀏覽網頁的速度。
圖1為本發明網頁繪制系統較佳實施例的運行架構圖2為圖1中網頁繪制系統的功能模塊圖;圖3為本發明網頁繪制方法較佳實施例的具體實施流程圖;本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
具體實施例方式應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。如圖1所示,為本發明網頁繪制系統較佳實施例的運行架構圖。該網頁繪制系統11運行于數據處理設備I中。數據處理設備I可以是計算機、手機、平板電腦或其他任意適用的數據處理設備。數據處理設備I還包括存儲單元12、顯示單元13及處理單元14。該存儲單元12,用于存儲該網頁繪制系統11,及該網頁繪制系統11的運行數據。該顯示單元13,用于提供人機交互界面,以供用戶輸入指令,且輸出顯示數據處理設備I對用戶指令的響應數據。在本實施例中,該人機交互界面包括,但不限于該網頁繪制系統11生成的網頁界面。該處理單元14,用于調用并執行該網頁繪制系統11,以實現在數據處理設備I上快速生成網頁,降低數據處理設備I的系統資源占用率。如圖2所示,為圖1中網頁繪制系統的功能模塊圖。該網頁繪制系統11包括獲取模塊111、創建模塊112、解碼模塊113、分析模塊114、繪制模塊115及顯示模塊116。獲取模塊111,用于接收與網頁瀏覽指令對應的網頁數據,并從接收的網頁數據中提取出待繪制的圖形元素。在本實施例中,所述網頁數據包括圖片像素數據、顏色格式數據。所述圖形元素包括文本、圖片、矢量圖形等等。創建模塊112,用于創建硬件加速緩存區以及圖片緩存區。在本實施例中,硬件加速緩存區為可對存儲的圖形元素通過硬件加速接口繪圖操作的內存,并用于儲存與硬件加速緩存區顏色格式相同的圖形元素;圖片緩存區為可對存儲的圖形元素通過調用預設軟件算法完成繪圖操作的內存,并用于儲存與硬件加速緩存區顏色格式不同的圖形元素。解碼模塊113,用于將與硬件加速緩存區顏色格式相同的圖形元素解碼到硬件加速緩存區內,及將與硬件加速緩存區顏色格式不同的圖形元素解碼到圖片緩存區內。分析模塊114,用于分析加速緩存區內的圖形元素是否適用硬件加速進行繪制。在本實施例中,分析模塊114分析硬件加速緩存區內圖形元素的繪圖操作是否適用硬件加速的條件包括繪圖操作的源必須是顏色值或者來自于硬件加速緩存區;繪圖操作的目標必須是硬件加速緩存區;繪圖操作的源或者目標沒有要求非矩形裁剪;及繪圖操作的源不要求變形(如旋轉、傾斜)。僅當所述圖形元素滿足上述所有條件時,才可判斷該圖形元素適用硬件加速方法進行繪制。繪制模塊115,當需要采用硬件加速繪圖時,調用硬件加速接口對硬件加速緩存區內適用硬件加速的圖形元素進行繪圖操作;及當不需要采用硬件加速繪圖時,調用預設的軟件算法進行圖形元素的繪圖操作。在本實施例中,所述預設的軟件算法特指已有的、任意適用的網頁繪圖軟件算法。在本實施例中,繪制模塊115調用硬件加速接口進行的繪圖操作包括將一硬件加速緩存區上的一塊矩形區域拷貝到另一塊硬件加速緩存區上;或將一硬件加速緩存區上的一塊矩形區域縮放到另一塊硬件加速緩存區上;或將一硬件加速緩存區上的一塊矩形區域合成到另一塊硬件加速緩存區上;或將一硬件加速緩存區上的一塊矩形區填充顏色。在本實施例中,硬件加速緩存區的繪圖操作有同步、異步兩種模式,情形如下在同步模式下,繪圖接口是阻塞的,只有當前一繪圖操作完成之后硬件加速緩存區才能從繪圖接口返回出來,這段時間CPU處于等待模式;在異步模式下,調用繪圖接口后,硬件加速緩存區會將繪圖指令發送到一個隊列中,然后從繪圖接口中返回,CPU可以繼續做其他的事情。在本實施例中,分析模塊114分析對硬件加速緩存區內的圖形元素的繪圖操作是否是同步模式;及在當前對硬件加速緩存區內的圖形元素的繪圖操作是同步模式時,繪圖模塊115同步對硬件加速緩存區內不適用硬件加速的圖形元素采用預設的軟件算法進行繪圖操作;或在當前對硬件加速緩存區內的圖形元素的繪圖操作是異步模式時,繪圖模塊115調用同步模式后,同步對硬件加速緩存區內不適用硬件加速的圖形元素采用預設的軟件算法進行繪圖操作。顯示模塊116,用于將繪制好的內容拷貝到幀緩沖區上進行顯示。如圖3所示,為本發明網頁繪制方法較佳實施例的具體實施流程圖。包括步驟步驟S11,獲取模塊111接收與網頁瀏覽指令對應的網頁數據,并從接收的網頁數據中提取出待繪制的圖形元素。在本實施例中,所述網頁數據包括圖片像素數據、顏色格式數據。所述圖形元素包括文本、圖片、矢量圖形等等。步驟S12,創建模塊112創建硬件加速緩存區以及圖片緩存區。在本實施例中,硬件加速緩存區為可對存儲的圖形元素通過硬件加速接口完成繪圖操作的內存,用于儲存與硬件加速緩存區顏色格式相同的圖形元素;圖片緩存區為可對存儲的圖形元素通過調用預設軟件算法完成繪圖操作的內存,用于儲存與硬件加速緩存區顏色格式不同的圖形元素。步驟S13,分析模塊114分析圖形元素的顏色格式是否與硬件加速緩沖區的顏色格式相同。當圖形元素顏色格式與硬件加速緩沖區格式相同時,轉入執行下述步驟S14;及或當圖形元素顏色格式與硬件加速緩沖區格式不相同時,轉入執行下述步驟S15。步驟S14,解碼模塊113將與硬件加速緩存區顏色格式相同的圖形元素解碼到硬件加速緩存區內。步驟S15,解碼模塊113將與硬件加速緩存區顏色格式不同的圖形元素解碼到圖片緩存區內,并執行下述步驟S20。步驟S16,分析模塊114分析加速緩存區內的圖形元素是否適用硬件加速進行繪制,并當硬件加速緩存區內的圖像元素適用硬件加速進行繪制時,轉入執行下述步驟S17,或當硬件加速緩存區內的圖像元素不適用硬件加速進行繪制時,轉入執行下述步驟S18在本實施例中,分析模塊114分析硬件加速緩存區內圖形元素的繪圖操作是否適用硬件加速的條件包括繪圖操作的源必須是顏色值或者來自于硬件加速緩存區;繪圖操作的目標必須是硬件加速緩存區;繪圖操作的源或者目標沒有要求非矩形裁剪;及繪圖操作的源不要求變形(如旋轉、傾斜)。僅當所述圖形元素滿足上述所有條件時,才可判斷該圖形元素適用硬件加速方法進行繪制。步驟S17,繪制模塊115調用硬件加速接口對硬件加速緩存區內適用硬件加速的圖形元素進行繪圖操作。
在本實施例中,繪制模塊115調用硬件加速接口進行繪圖操作的方式包括以下幾種將一硬件加速緩存區上的一塊矩形區域拷貝到另一塊硬件加速緩存區上;或將一硬件加速緩存區上的一塊矩形區域縮放到另一塊硬件加速緩存區上;或將一硬件加速緩存區上的一塊矩形區域合成到另一塊硬件加速緩存區上;或將一硬件加速緩存區上的一塊矩形區填充顏色。步驟S18,分析模塊114分析對硬件加速緩存區內的圖形元素的繪圖操作是否是同步模式。在本實施例中,在當前對硬件加速緩存區內的圖形元素的繪圖操作是同步模式時轉入執行下述步驟S20,或在當前對硬件加速緩存區內的圖形元素的繪圖操作是異步模式時轉入執行下述步驟S19。步驟S19,繪制模塊115對硬件加速緩存區內的圖形元素的繪圖操作調用同步模式。步驟S20,繪制模塊115調用預設的軟件算法對圖形元素進行繪圖操作。在本實施例中,所述預設的軟件算法特指已有的、任意適用的網頁繪圖軟件算法。步驟S21,將繪制好的內容拷貝到幀緩沖區上進行顯示。以上所述僅為本發明的優選實施例,并非因此限制本發明的專利范圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護范圍內。
權利要求
1.一種網頁繪制系統,其特征在于,該系統包括 獲取模塊,用于接收與網頁瀏覽指令對應的網頁數據,并從接收的網頁數據中提取出待繪制的圖形元素; 創建模塊,用于創建硬件加速緩存區以及圖片緩存區; 解碼模塊,用于將與硬件加速緩存區顏色格式相同的圖形元素解碼到硬件加速緩存區內,及將與硬件加速緩存區顏色格式不同的圖形元素解碼到圖片緩存區內; 分析模塊,用于分析加速緩存區內的圖形元素是否適用硬件加速進行繪制; 繪制模塊,用于當適用硬件加速繪圖時,調用硬件加速接口對硬件加速緩存區內適用硬件加速的圖形元素進行繪圖操作;及當不適用硬件加速繪圖時,調用預設的軟件算法對不適用硬件加速的圖形元素進行繪圖操作; 顯示模塊,用于將繪制好的內容拷貝到幀緩沖區上進行顯示。
2.根據權利要求1所述的網頁繪制系統,其特征在于,所述分析模塊分析硬件加速緩沖區內的圖形元素是否適用硬件加速進行繪制的條件包括 繪圖操作的源必須是顏色值或來自于硬件加速緩存區; 繪圖操作的目標必須是硬件加速緩存區; 繪圖操作的源或者目標沒有要求非矩形裁剪;及 繪圖操作的源不要求變形。
3.根據權利要求1所述的網頁繪制系統,其特征在于,所述繪制模塊調用硬件加速接口進行的繪圖操作包括 將一硬件加速緩存區上的一塊矩形區域拷貝到另一塊硬件加速緩存區上;或 將一硬件加速緩存區上的一塊矩形區域縮放到另一塊硬件加速緩存區上;或 將一硬件加速緩存區上的一塊矩形區域合成到另一塊硬件加速緩存區上;或 將一硬件加速緩存區上的一塊矩形區填充顏色。
4.根據權利要求1所述的網頁繪制系統,其特征在于,所述分析模塊還用于分析對硬件加速緩存區內的圖形元素的繪圖操作是否是同步模式;在當前對硬件加速緩存區內的圖形元素的繪圖操作是同步模式時,繪制模塊同步對硬件加速緩存區內不適用硬件加速的圖形元素采用預設的軟件算法進行繪圖操作,或在當前對硬件加速緩存區內的圖形元素的繪圖操作是異步模式時,繪制模塊調用同步模式后,同步對硬件加速緩存區內不適用硬件加速的圖形元素采用預設的軟件算法進行繪圖操作。
5.一種網頁繪制方法,包括步驟 A、接收與網頁瀏覽指令對應的網頁數據,并從接收的網頁數據中提取出待繪制的圖形元素; B、創建硬件加速緩存區以及圖片緩存區; C、將與硬件加速緩存區顏色格式相同的圖形元素解碼到硬件加速緩存區內,及將與硬件加速緩存區顏色格式不同的圖形元素解碼到圖片緩存區內; D、分析加速緩存區內的圖形元素是否適用硬件加速進行繪制; E、當適用硬件加速繪圖時,調用硬件加速接口對硬件加速緩存區內適用硬件加速的圖形元素進行繪圖操作;及當不適用硬件加速繪圖時,調用預設的軟件算法對不適用硬件加速的圖形元素進行繪圖操作;F、將繪制好的內容拷貝到幀緩沖區上進行顯示。
6.根據權利要求5所述的網頁繪制方法,其特征在于,步驟D分析硬件加速緩沖區內的圖形元素是否適用硬件加速進行繪制的條件包括 D1、繪圖操作的源必須是顏色值或者來自于硬件加速緩存區; D2、繪圖操作的目標必須是硬件加速緩存區; D3、繪圖操作的源或者目標沒有要求非矩形裁剪;及 D4、繪圖操作的源不要求變形。
7.根據權利要求5所述的網頁繪制的方法,其特征在于,步驟E中調用硬件加速接口進行的繪圖操作包括 a、將一硬件加速緩存區的一塊矩形區域拷貝到另一塊硬件加速緩存區上;或 b、將一硬件加速緩存區上的一塊矩形區域縮放到另一塊硬件加速緩存區上;或 C、將一硬件加速緩存區上的一塊矩形區域合成到另一塊硬件加速緩存區上;或 d、將一硬件加速緩存區上的一塊矩形區填充顏色。
8.根據權利要求5所述的網頁繪制方法,其特征在于,步驟E中調用預設的軟件算法對不適用硬件加速的圖形元素進行繪圖操作的步驟還包括 E1、分析對硬件加速緩存區內的圖形元素的繪圖操作是否是同步模式 '及; E2、在當前對硬件加速緩存區內的圖形元素的繪圖操作是同步模式時,同步對硬件加速緩存區內不適用硬件加速的圖形元素采用預設的軟件算法進行繪圖操作;或 E3、在當前對硬件加速緩存區內的圖形元素的繪圖操作是異步模式時,調用同步模式后,同步對硬件加速緩存區內不適用硬件加速的圖形元素采用預設的軟件算法進行繪圖操作。
全文摘要
本發明公開了一種網頁繪制方法,該方法包括接收與網頁瀏覽指令對應的網頁數據,并從網頁數據中提取待繪制的圖形元素;將與硬件加速緩存區顏色格式相同的圖形元素解碼到創建的硬件加速緩存區內,將與硬件加速緩存區顏色格式不同的圖形元素解碼到創建的圖片緩存區內;當硬件緩存區內的圖形元素適用硬件加速繪圖時,調用硬件加速接口對該圖形元素進行繪圖操作;及當不適用硬件加速繪圖時,調用預設的軟件算法對該圖形元素進行繪圖操作;將繪制好的內容拷貝到幀緩沖區上進行顯示。本發明通過利用硬件加速接口來完成瀏覽器中的繪制操作,有效加速瀏覽器的繪制,減輕CPU負擔,提高用戶瀏覽網頁的速度。本發明還提出一種網頁繪制系統。
文檔編號G06T1/00GK103034729SQ20121055878
公開日2013年4月10日 申請日期2012年12月20日 優先權日2012年12月20日
發明者李宴儒 申請人:深圳Tcl新技術有限公司