專利名稱:屏幕刷新的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種屏幕刷新的方法,應(yīng)用于顯示電子數(shù)據(jù)的屏幕,特別涉及一種提高刷新速度、且可滿足多個邏輯層需求的屏幕刷新方法。
背景技術(shù):
屏幕刷新(refresh)是指對屏幕的內(nèi)容加以更新、刷新,一般說來,發(fā)生于兩種狀況一種是屏幕設(shè)定定時的刷新,另一種則是當(dāng)屏幕內(nèi)的東西有所變動,或是執(zhí)行程序時,所必然產(chǎn)生的刷新。
而現(xiàn)有的屏幕刷新的方式,多是采用“畫家”算法,也就是說,無論屏幕內(nèi)容有無發(fā)生變化,均需進(jìn)行全部內(nèi)容的重新繪制來進(jìn)行屏幕的所有內(nèi)容刷新,因此速度相當(dāng)慢。同時,其它一些刷新的算法僅提供兩個邏輯層次的刷新,無法滿足多層邏輯架構(gòu)的屏幕刷新需要,容易造成屏幕刷新后的錯誤。
發(fā)明內(nèi)容
本發(fā)明為解決上述問題而提供一種屏幕刷新的方法,可增加屏幕刷新的速度,并可適用于多邏輯層的架構(gòu)。
根據(jù)本發(fā)明所公開的屏幕刷新的方法,首先判斷出屏幕出現(xiàn)有對象的變化,也就是把屏幕上的所有實體都當(dāng)成是一個對象,且變化包括有放大、縮小、位移、扭曲或是文字內(nèi)容等變化,然后根據(jù)變化轉(zhuǎn)化成一變量,并將相鄰的對象的變量相互合并,以減少刷新區(qū)域的個數(shù),而其合并主要是計算相鄰對象變化區(qū)域,取其較大值來加以儲存,當(dāng)所有對象計算完畢并儲存后,將其一一取出,而對屏幕加以更新。另外,也可以設(shè)計將不同邏輯層的對象變化加以剪裁合并,更可提高刷新速度。
具體地講,本發(fā)明公開了一種屏幕刷新的方法,用以刷新一屏幕的內(nèi)容,該方法包括有下列步驟依據(jù)該屏幕對象出現(xiàn)的變化轉(zhuǎn)化成一變量;
計算該對象的變量;合并該對象的變量;儲存該合并后對象的變量數(shù)據(jù);及依序取出該變量數(shù)據(jù)并刷新該屏幕涉及變化的區(qū)域。
所述的屏幕刷新的方法,其中該對象的變化選自放大、縮小、位移、扭曲、文字內(nèi)容所構(gòu)成的組合中的其中之一。
所述的屏幕刷新的方法,其中該合并的對象變量的條件為將相鄰或是重疊的對象變化加以合并。
所述的屏幕刷新的方法,其中該合并的方式以選取變化前后所占用較大區(qū)域面積的變化為基準(zhǔn)。
所述的屏幕刷新的方法,其中該計算該對象的變量的步驟還包括有計算不同邏輯層的該對象的變化量。
本發(fā)明還公開了一種屏幕刷新的方法,可提高刷新一屏幕的內(nèi)容的速度,并提供數(shù)個邏輯層的刷新,該方法包括有下列步驟計算該屏幕的對象的各邏輯層的變量;合并相同邏輯層的相鄰的該對象的變量;儲存該合并后對象的變量的數(shù)據(jù);依序取出該數(shù)據(jù);及刷新該屏幕涉及變化的區(qū)域。
為使對本發(fā)明的目的、構(gòu)造特征及其功能有進(jìn)一步的了解,配合附圖詳細(xì)說明如下。
圖1為本發(fā)明的步驟流程示意圖;圖2為本發(fā)明位移涉及區(qū)域的示意圖;圖3為本發(fā)明對象變形處理流程的示意圖;圖4為本發(fā)明文字內(nèi)容變化處理流程的示意圖;圖5A~5C為本發(fā)明相鄰區(qū)域合并的示意圖;圖6為本發(fā)明多邏輯層架構(gòu)的示意圖;及圖6A~7C為本發(fā)明多層邏輯架構(gòu)處理的示意圖。
附圖標(biāo)記說明1 對象2 對象21區(qū)域22區(qū)域61~64對象71~74對象具體實施方式
根據(jù)本發(fā)明所公開的屏幕刷新的方法,請參閱圖1,用以刷新一屏幕的內(nèi)容,首先當(dāng)屏幕內(nèi)的對象出現(xiàn)變化時,開始對其變化處理(步驟101),其中所謂的對象即是把屏幕中的所有實體、圖像一律視為一個對象,當(dāng)對象發(fā)生了變化,包括有放大、縮小、扭曲、對象關(guān)連圖像的變更等,同時,處理變化時,選擇變化前后對象所占用的最大區(qū)域為基準(zhǔn),處理完畢后,將相關(guān)數(shù)據(jù)轉(zhuǎn)化成變量并記錄于一備篩選表內(nèi)。
接著處理對象的位移(步驟102),請同步參閱圖2,當(dāng)一個對象1位移至對象2的區(qū)域時,所需處理的部分包括了對象1所在的區(qū)域以及區(qū)域21、22,所共同構(gòu)成的區(qū)域,同樣將其轉(zhuǎn)化成變量后加入備篩選表內(nèi)。
而關(guān)于以上變化以及位移的部分,處理流程類似,詳細(xì)流程請見圖3,首先判斷對象是否有變形(步驟301),當(dāng)然如果對象沒有變形,則不需要處理,如果有,則先計算變形前后所占的區(qū)域大小(步驟302、303),接著將其中較大值(或是最大值)加入備篩選表(步驟304),因為平面空間與三維度空間的變化處理方式不同,所以單獨將其取出來計算,同樣的,先判斷對象是否有三度維度空間上的變化(步驟305),如果沒有,則結(jié)束此部分處理,如果有,則直接計算涉及的區(qū)域(步驟306)轉(zhuǎn)化為變量,然后同步加入備篩選表內(nèi)(步驟307)。
接著處理文字內(nèi)容的變化(步驟103),請同步參照圖4,首先判斷文字內(nèi)容是否有變化(步驟401),其中變化的部分包括有文字內(nèi)容、字體大小、符號、字體設(shè)置相關(guān)位置等,并且將文字內(nèi)容單獨視為一個特殊的邏輯層圖像,關(guān)于邏輯層的部分,容后詳述,然后計算文字內(nèi)容涉及的區(qū)域(步驟402),并轉(zhuǎn)化后加入備篩選表(步驟403)。其中,關(guān)于邏輯層,請參閱圖6,每一個對象除了X、Y坐標(biāo)外,還具有一個所謂的“Z序”值,其含意代表位于屏幕的先后關(guān)系,每一個“Z序”值都可以視為一個邏輯層單獨處理,圖中對象61、62、63、64依照其“Z序”值關(guān)系分別為對象64在最前方,而對象61在最底端,簡單說就是,對象64遮蔽對象63,對象63遮蔽對象62,對象62遮蔽對象61,處理時,則僅抽離出對象變化所涉及的區(qū)域加以處理,以下再舉一例子做說明。
如圖6A所示,三個對象的“Z序”依照大小排列分別為73、72、71,當(dāng)對象72向右滑動(見圖6B),所需更新的部分為對象72、74的區(qū)域但兩者的處理方式不同,原對象72所在的區(qū)域形成一空的區(qū)域74,處理時,僅針對涉及變化的區(qū)域處理,也就是圖中所示的對象72、74所在的區(qū)域,也就是新的對象72所在的區(qū)域利用對象72的數(shù)據(jù)重繪,而對象74的區(qū)域利用對象71以及背景部分重繪,得到如圖6C所得的圖案,因為刷新的區(qū)域僅為涉及變化的區(qū)域,故能夠提升刷新的速度。另一方面,如果說“Z序”較大的(如圖中的對象73)具有透明的區(qū)域,而可透視到不同“Z序”的對象,則處理上必須同步更新。
接著做刷新處理(步驟104),此時,并不是直接將備篩選表內(nèi)的數(shù)據(jù)取出來處理,而是先將其中的所有對象的刷新數(shù)據(jù)作一計算來合并,合并的條件大致上為相鄰的區(qū)域(見圖5A~5C)或是互相包括的區(qū)域,或甚至是不同邏輯層的數(shù)據(jù)互相交疊時,也可以重復(fù),以得到最少的刷新區(qū)域,使得刷新速度大幅改善。
本發(fā)明為一種屏幕刷新的方法,用以刷新屏幕的內(nèi)容,且具有下列功效本方法可進(jìn)行任意邏輯層的擴(kuò)展,并且可進(jìn)行特殊處理。
文字內(nèi)容可以視為一特殊的邏輯層,提供文字內(nèi)容的邏輯層與其它邏輯層的剪裁、合并等操作。
提高屏幕刷新的速度。
可適用于移動對象重疊的刷新。
雖然本發(fā)明以前述的較佳實施例公開,然其并非用以限定本發(fā)明,任何本領(lǐng)域普通技術(shù)人員,在不脫離本發(fā)明精神和范圍內(nèi),當(dāng)可作一些更動與潤飾,因此本發(fā)明的專利保護(hù)范圍以權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種屏幕刷新的方法,用以刷新一屏幕的內(nèi)容,其特征在于,該方法包括有下列步驟依據(jù)該屏幕對象出現(xiàn)的變化轉(zhuǎn)化成一變量;計算該對象的變量;合并該對象的變量;儲存該合并后對象的變量數(shù)據(jù);及依序取出該變量數(shù)據(jù)并刷新該屏幕涉及變化的區(qū)域。
2.如權(quán)利要求1所述的屏幕刷新的方法,其特征在于,該對象的變化選自放大、縮小、位移、扭曲、文字內(nèi)容所構(gòu)成的組合中的其中之一。
3.如權(quán)利要求1所述的屏幕刷新的方法,其特征在于,該合并的對象變量的條件為將相鄰或是重疊的對象變化加以合并。
4.如權(quán)利要求3所述的屏幕刷新的方法,其特征在于,該合并的方式以選取變化前后所占用較大區(qū)域面積的變化為基準(zhǔn)。
5.如權(quán)利要求1所述的屏幕刷新的方法,其特征在于,該計算該對象的變量的步驟還包括有計算不同邏輯層的該對象的變化量。
6.一種屏幕刷新的方法,可提高刷新一屏幕的內(nèi)容的速度,并提供數(shù)個邏輯層的刷新,其特征在于,該方法包括有下列步驟計算該屏幕的對象的各邏輯層的變量;合并相同邏輯層的相鄰的該對象的變量;儲存該合并后對象的變量的數(shù)據(jù);依序取出該數(shù)據(jù);及刷新該屏幕涉及變化的區(qū)域。
7.如權(quán)利要求6所述的屏幕刷新的方法,其特征在于,該對象的變化選自放大、縮小、位移、扭曲、文字內(nèi)容所構(gòu)成的組合中的其中之一。
8.如權(quán)利要求6所述的屏幕刷新的方法,其特征在于,該合并的對象變量的條件為將相鄰或是重疊的對象變化加以合并。
9.如權(quán)利要求8所述的屏幕刷新的方法,其特征在于,該合并的方式以選取變化前后所占用較大區(qū)域面積的變化為基準(zhǔn)。
全文摘要
本發(fā)明涉及一種屏幕刷新的方法,可增加刷新速度并滿足多層邏輯結(jié)構(gòu)的屏幕刷新需求;本發(fā)明僅刷新產(chǎn)生變化的部分,并將相鄰對象變化的區(qū)域加以合并,使得更新變化的區(qū)域最少,并且結(jié)合“Z序”以及邏輯層的概念,不僅加速刷新的速度,同時可以同步處理多個邏輯層對象的變化。
文檔編號G06F9/305GK1510568SQ02159329
公開日2004年7月7日 申請日期2002年12月26日 優(yōu)先權(quán)日2002年12月26日
發(fā)明者劉文涵, 宋建福, 周宏亮 申請人:英業(yè)達(dá)股份有限公司