專利名稱:一種快速繪圖的方法和裝置的制作方法
技術領域:
本發(fā)明涉及一種繪圖方法,特別涉及一種能夠快速繪圖的方法,屬于圖像顯示處理領域。本發(fā)明還涉及一種快速繪圖的裝置。
背景技術:
目前,在CPU、GPU等處理器繪制顯示圖像時,一般只用一個繪圖緩沖器(buffer)進行繪圖,導致該緩沖器既要繪圖又要顯示,當數(shù)據(jù)量很大時,繪圖可能需要幾秒鐘甚至更長時間,有時還會出現(xiàn)閃爍等現(xiàn)象?,F(xiàn)有技術也有采用雙緩沖器繪圖的,但是由于沒有辦法預知上一個緩沖器和當前要繪制緩沖器相比有哪些區(qū)別,只能把上一個緩沖器中的數(shù)據(jù)再整體復制一次,導致系統(tǒng)帶寬壓力增加、降低了繪圖幀率,而且繪圖數(shù)據(jù)量很大時,繪圖依然需要很長時間,繪圖效率不高。
發(fā)明內(nèi)容
針對現(xiàn)有技術中的不足,本發(fā)明旨在提供一種能夠有效降低繪圖時占用系統(tǒng)帶寬的壓力,提高繪圖幀率,實現(xiàn)快速、實時性繪圖的繪圖方法。為了解決上述問題,本發(fā)明的一種快速繪圖的方法,其特征在于包括以下步驟建立并初始化記錄緩沖區(qū),該記錄緩沖區(qū)中的每個記錄點與第一繪圖緩沖區(qū)中的每個像素點相對應;當?shù)谝焕L圖緩沖區(qū)中的像素有變化時,修改記錄緩沖區(qū)中的相應的記錄點的狀態(tài)標記;將記錄緩沖區(qū)中有變化的記錄點對應的像素點復制到第二繪圖緩沖區(qū)中;繪制第二繪圖緩沖區(qū)中的數(shù)據(jù)并初始化記錄緩沖區(qū);以及將繪制完成的圖形輸出到具體文件或顯示到終端設備。優(yōu)選地,還包括步驟設置預繪制的圖形格式和分辨率;根據(jù)分辨率的大小建立記錄緩沖區(qū)。優(yōu)選地,當所述終端設備不支持預繪制的圖形格式時,將圖形格式轉換為一種該終端設備支持的格式。優(yōu)選地,將所述記錄緩沖區(qū)中的每個記錄點的狀態(tài)標記初始化為O ;當?shù)谝焕L圖緩沖區(qū)中的像素有變化時,將記錄緩沖區(qū)中的相應的記錄點的狀態(tài)標記修改為I。優(yōu)選地,所述第一緩沖區(qū)與第二緩沖區(qū)交替繪圖。本發(fā)明還涉及一種快速繪圖的裝置,其特征在于包括記錄器模塊,用于建立并初始化記錄緩沖區(qū),該記錄緩沖區(qū)中的每個記錄點與第一繪圖緩沖區(qū)中的每個像素點相對應;還用于修改記錄緩沖區(qū)中的相應的記錄點的狀態(tài)標記;分析器模塊,用于當?shù)谝焕L圖緩沖區(qū)中的像素有變化時,發(fā)送通知至記錄器模塊;還用于將記錄緩沖區(qū)中有變化的記錄點對應的像素點復制到第二繪圖緩沖區(qū)中;繪圖器模塊,用于繪制第二繪圖緩沖區(qū)中的數(shù)據(jù);輸出模塊,用于將繪制完成的圖形輸出到具體文件或顯示到終端設備。優(yōu)選地,還包括用戶接口模塊,用于設置預繪制的圖形格式和分辨率;所述記錄器模塊根據(jù)分辨率的大小設置記錄緩沖區(qū)。優(yōu)選地,還包括數(shù)據(jù)轉換模塊,用于當所述終端設備不支持預繪制的圖形格式時,將圖形格式轉換為一種該終端設備支持的格式。優(yōu)選地,其特征在于所述預繪制的圖形格式包括RBG、YUV或位圖格式。本發(fā)明的有益效果是本發(fā)明與現(xiàn)有技術相比,在CPU輸出顯示圖像時,通過根據(jù)繪制圖形的情況進行只更新最新繪制的部分,達到降低系統(tǒng)整體復制的帶寬,保證快速實時性繪圖的目的。
圖1為本發(fā)明的快速繪圖方法的流程圖;圖2為本發(fā)明的快速繪圖裝置的結構方框圖。
具體實施例方式下面結合附圖對本發(fā)明做進一步地說明。如圖1所示,本發(fā)明的一種快速繪圖的方法,可以有效降低繪圖時占用系統(tǒng)帶寬的壓力,提高繪圖幀率,實現(xiàn)快速、實時性繪圖。其包括以下步驟步驟101,通過用戶接口設置預繪制的圖形格式和分辨率等參數(shù),這里圖形格式可以為RBG、YUV或位圖格式等通用格式。步驟102,通過記錄器根據(jù)分辨率的大小建立一個記錄緩沖區(qū),該記錄緩沖區(qū)中的每個記錄點與第一繪圖緩沖區(qū)中的每個像素點相對應。隨后初始化該記錄緩沖區(qū),默認用全O對該緩沖區(qū)的狀態(tài)標記進行初始化。步驟103,當?shù)谝焕L圖緩沖區(qū)中的像素有變化時,分析器給記錄器發(fā)送通知,隨后,步驟104,修改記錄緩沖區(qū)中的相應的記錄點的狀態(tài)標記,默認將記錄緩沖區(qū)中的相應的記錄點的狀態(tài)標記修改為I。步驟105,分析器將記錄緩沖區(qū)中有變化的記錄點對應的像素點復制到第二繪圖緩沖區(qū)中。如此往復,保證了第二繪圖緩沖區(qū)中的數(shù)據(jù)永遠是最新的。步驟106,無論第一繪圖緩沖區(qū)中的像素有無變化,繪圖器將繪制第二繪圖緩沖區(qū)中的數(shù)據(jù),隨后記錄器重新初始化記錄緩沖區(qū)。步驟107和步驟108,當所述終端設備不支持預繪制的圖形格式時,將圖形格式轉換為一種該終端設備支持的格式。當發(fā)現(xiàn)終端設備不支持該輸出的數(shù)據(jù)格式時,例如顯示器不支持YUV格式,可以將YUV轉換為RGB格式,具體轉換方式如下R = Y +1. 402 (V - 128)G = Y-O. 34414 (U — 128) — O. 71414 (V — 128)B = Y+1. 772 (U — 128)
該數(shù)據(jù)格式的轉換方式并不唯一,其他轉換方式與該方式類似,這里不再贅述。最后,步驟109,將繪制完成的圖形輸出到具體文件或顯示到終端設備。所述終端設備包括顯示器或打印機。如圖2所示,本發(fā)明還涉及一種快速繪圖的裝置,其包括用戶接口模塊,用于設置預繪制的圖形格式和分辨率。記錄器模塊,用于根據(jù)分辨率的大小建立記錄緩沖區(qū),并初始化記錄緩沖區(qū),默認用全O對該緩沖區(qū)初始化。該記錄緩沖區(qū)中的每個記錄點與第一繪圖緩沖區(qū)中的每個像素點相對應。分析器模塊,用于當?shù)谝焕L圖緩沖區(qū)中的像素有變化時,發(fā)送通知給記錄器模塊,記錄器模塊默認將記錄緩沖區(qū)中的相應的記錄點的狀態(tài)標記修改為I。分析器模塊還用于將記錄緩沖區(qū)中有變化的記錄點對應的像素點復制到第二繪圖緩沖區(qū)中。繪圖器模塊,用于繪制第二繪圖緩沖區(qū)中的數(shù)據(jù)。數(shù)據(jù)轉換模塊,用于當所述終端設備不支持預繪制的圖形格式時,將圖形格式轉換為一種該終端設備支持的格式。輸出模塊,用于將繪制完成的圖形輸出到具體文件或顯示到終端設備。所述預繪制的圖形格式包括RBG、YUV或位圖格式,本發(fā)明采用兩個繪圖緩沖區(qū)(buffer)進行說明編寫,實際上大于等于兩個繪圖緩沖區(qū)數(shù)量的buffer都適用于本方法;該繪圖緩沖區(qū)是CPU根據(jù)系統(tǒng)圖像來繪制圖像的實際緩沖區(qū)。其中,兩個緩沖區(qū)交替繪制交替輸出,即,第一緩沖區(qū)和第二緩沖區(qū)實際上是交替繪圖的、循環(huán)使得用的,有時候把第一緩沖區(qū)復制到第二緩沖區(qū),有時候把第二緩沖區(qū)復制到第一緩沖區(qū)。上述實施例只是為了方便說明而舉例,本發(fā)明所主張的權利范圍應以權利要求書為準,而非僅限于上述實施例。
權利要求
1.一種快速繪圖的方法,其特征在于包括以下步驟建立并初始化記錄緩沖區(qū),該記錄緩沖區(qū)中的每個記錄點與第一繪圖緩沖區(qū)中的每個像素點相對應;當?shù)谝焕L圖緩沖區(qū)中的像素有變化時,修改記錄緩沖區(qū)中的相應的記錄點的狀態(tài)標記;將記錄緩沖區(qū)中有變化的記錄點對應的像素點復制到第二繪圖緩沖區(qū)中;繪制第二繪圖緩沖區(qū)中的數(shù)據(jù)并初始化記錄緩沖區(qū);以及將繪制完成的圖形輸出到具體文件或顯示到終端設備。
2.根據(jù)權利要求1所述的快速繪圖的方法,其特征在于還包括步驟設置預繪制的圖形格式和分辨率; 根據(jù)分辨率的大小建立記錄緩沖區(qū)。
3.根據(jù)權利要求2所述的快速繪圖的方法,其特征在于當所述終端設備不支持預繪制的圖形格式時,將圖形格式轉換為一種該終端設備支持的格式。
4.根據(jù)權利要求1所述的快速繪圖的方法,其特征在于將所述記錄緩沖區(qū)中的每個記錄點的狀態(tài)標記初始化為O ;當?shù)谝焕L圖緩沖區(qū)中的像素有變化時,將記錄緩沖區(qū)中的相應的記錄點的狀態(tài)標記修改為I。
5.根據(jù)權利要求1所述的快速繪圖的方法,其特征在于所述第一緩沖區(qū)與第二緩沖區(qū)交替繪圖。
6.一種快速繪圖的裝置,其特征在于包括記錄器模塊,用于建立并初始化記錄緩沖區(qū),該記錄緩沖區(qū)中的每個記錄點與第一繪圖緩沖區(qū)中的每個像素點相對應;還用于修改記錄緩沖區(qū)中的相應的記錄點的狀態(tài)標記; 分析器模塊,用于當?shù)谝焕L圖緩沖區(qū)中的像素有變化時,發(fā)送通知至記錄器模塊;還用于將記錄緩沖區(qū)中有變化的記錄點對應的像素點復制到第二繪圖緩沖區(qū)中;繪圖器模塊,用于繪制第二繪圖緩沖區(qū)中的數(shù)據(jù);輸出模塊,用于將繪制完成的圖形輸出到具體文件或顯示到終端設備。
7.根據(jù)權利要求6所述的快速繪圖的裝置,其特征在于還包括用戶接口模塊,用于設置預繪制的圖形格式和分辨率;所述記錄器模塊根據(jù)分辨率的大小設置記錄緩沖區(qū)。
8.根據(jù)權利要求7所述的快速繪圖的裝置,其特征在于還包括數(shù)據(jù)轉換模塊,用于當所述終端設備不支持預繪制的圖形格式時,將圖形格式轉換為一種該終端設備支持的格式。
9.根據(jù)權利要求7所述的快速繪圖的裝置,其特征在于所述預繪制的圖形格式包括: RBG、YUV或位圖格式。
全文摘要
本發(fā)明涉及一種能夠快速繪圖的方法,本發(fā)明旨在提供一種能夠有效降低繪圖時占用系統(tǒng)帶寬的壓力,提高繪圖幀率,實現(xiàn)快速、實時性繪圖的繪圖方法。本發(fā)明的一種快速繪圖的方法,其包括以下步驟建立并初始化記錄緩沖區(qū),該記錄緩沖區(qū)中的每個記錄點與第一繪圖緩沖區(qū)中的每個像素點相對應;當?shù)谝焕L圖緩沖區(qū)中的像素有變化時,修改記錄緩沖區(qū)中的相應的記錄點的狀態(tài)標記;將記錄緩沖區(qū)中有變化的記錄點對應的像素點復制到第二繪圖緩沖區(qū)中;繪制第二繪圖緩沖區(qū)中的數(shù)據(jù)并初始化記錄緩沖區(qū);以及將繪制完成的圖形輸出到具體文件或顯示到終端設備。本發(fā)明還涉及一種快速繪圖的裝置。
文檔編號G06T1/00GK103049883SQ20131003390
公開日2013年4月17日 申請日期2013年1月29日 優(yōu)先權日2013年1月29日
發(fā)明者王偉, 宋孝勇, 王建勛, 胡斌, 郭凱敏, 唐紅利, 張文澤 申請人:陜西汽車集團有限責任公司, 寶雞華山工程車輛有限責任公司