專利名稱:一種實(shí)現(xiàn)gui資源重復(fù)利用的方法
—種實(shí)現(xiàn)GUI資源重復(fù)利用的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖形用戶界面技術(shù)領(lǐng)域,尤其涉及一種實(shí)現(xiàn)GUI資源重復(fù)利用的方法。
背景技術(shù):
⑶I (圖形用戶界面)是游戲中最重要的元素之一,⑶I的好壞會(huì)影響用戶玩一款游戲的交互體驗(yàn),在游戲開發(fā)的過(guò)程中,GUI的生成占了很大的比例。現(xiàn)有生成一 GUI的流程是針對(duì)每個(gè)界面出相應(yīng)的單獨(dú)的GUI資源,資源生成者對(duì)資源的生成控制比較隨意和靈活,界面彼此之間的資源共享較少;其生成方式一般采用一個(gè)界面一個(gè)⑶I資源,這樣大
大增加了 GUI資源量和設(shè)備內(nèi)存消耗,同時(shí)增加了 Draw call (繪圖調(diào)用)的次數(shù),降低了渲染效率。例如現(xiàn)有中要生成如圖I所示的GUI,該圖形用戶界面由兩部分組成,一部分是界面的背景,另一部分是按鈕的背景。則,是通過(guò)圖2和圖3兩個(gè)⑶I資源進(jìn)行組合形成,這樣背景由于尺寸很大,占用大量的⑶I資源和設(shè)備的內(nèi)存;按鈕也是一樣的情況。特別是界面進(jìn)行拉伸和縮放的時(shí)候,會(huì)出現(xiàn)資源的變形。然而在GUI資源中,大部分資源具備重復(fù)性,可以通過(guò)簡(jiǎn)單的圖形拉伸、平鋪和鏡像進(jìn)行復(fù)用?,F(xiàn)有技術(shù)中公開了一種“利用XML進(jìn)行手機(jī)Π設(shè)計(jì)的方法”公開號(hào)為CN102402431A,
公開日為2012.04.04的中國(guó)專利,其包括以下步驟S I、在PC機(jī)上構(gòu)建SDK,并通過(guò)SDK開發(fā)手機(jī)界面,手機(jī)界面包括UI和⑶I ;S2、通過(guò)SDK中的工程編譯,將UI和GUI轉(zhuǎn)換成資源文件,并下載到手機(jī)文件系統(tǒng)中,其中該資源文件包括圖片、字符串和XML文件;S3、手機(jī)開機(jī)過(guò)程中將圖片、字符串資源讀入手機(jī)內(nèi)存,同時(shí)調(diào)用XML解析接口讀取XML文件中指定的UI元素,并將該UI元素信息反饋給圖形界面接口生成界面。應(yīng)用該發(fā)明即使更改Π、GUI (圖形用戶界面)設(shè)置僅需要更改文件系統(tǒng)中XML文件即可,不需要重新編譯、燒錄程序。這樣便于維護(hù)且提高了軟件開發(fā)質(zhì)量與進(jìn)度。但該發(fā)明不能對(duì)Π元素進(jìn)行重復(fù)利用,也無(wú)法降低UI資源量和手機(jī)系統(tǒng)內(nèi)存的消耗。
發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題,在于提供一種實(shí)現(xiàn)GUI資源重復(fù)利用的方法,其降低了 GUI資源量,減少設(shè)備利用GUI的內(nèi)存消耗量。本發(fā)明是這樣實(shí)現(xiàn)的一種實(shí)現(xiàn)⑶I資源重復(fù)利用的方法,包括如下步驟步驟I、獲取一個(gè)⑶I資源,并判斷該⑶I資源中是否存在具有重復(fù)性的部分,否,則進(jìn)入步驟2 ;是,則進(jìn)入步驟3 ;步驟2、將該GUI資源隨機(jī)分割成多個(gè)單獨(dú)的圖片資源,并在設(shè)備的內(nèi)存中將各單獨(dú)的圖片資源進(jìn)行單獨(dú)存儲(chǔ),當(dāng)設(shè)備的程序需要調(diào)用某一單獨(dú)的圖片資源時(shí),從內(nèi)存中讀取各個(gè)需要的圖片資源并進(jìn)行渲染處理成一個(gè)完整的界面;步驟3、將GUI資源進(jìn)行離散化,所述離散化為將GUI資源中重復(fù)性的部分進(jìn)行歸類,然后將GUI資源按歸類后進(jìn)行分割成多個(gè)單獨(dú)的圖片資源;離散化后將各類中存在重復(fù)性的圖片資源進(jìn)行刪除,每類中剩下唯一的一圖片資源;不存在重復(fù)性的圖片資源的類不進(jìn)行操作;并在設(shè)備的內(nèi)存中將各類的圖片資源進(jìn)行單獨(dú)存儲(chǔ),當(dāng)設(shè)備的程序需要調(diào)用各類單獨(dú)的圖片資源時(shí),判斷被調(diào)用的各類圖片資源是否是有經(jīng)過(guò)進(jìn)行重復(fù)性的圖片刪除的操作,是,將有進(jìn)行重復(fù)性的圖片刪除的該類圖片資源進(jìn)行處理后,將各類圖片資源按需要生成的界面拼接在一張圖片上,得到一完整的界面;否,則調(diào)用需要的各類圖片資源并進(jìn)行渲染處理成一個(gè)完整的界面。本發(fā)明具有如下優(yōu)點(diǎn)本發(fā)明采用模板化的GUI資源生成的方式,將一個(gè)GUI資源中的重復(fù)性資源進(jìn)行歸類分割,并將重復(fù)性的資源刪除,各類的圖片資源中留下唯一的不重復(fù)的圖片資源,界面要生成時(shí),將唯一的不重復(fù)的圖片資源經(jīng)過(guò)圖形拉伸或平鋪或鏡像按所需的界面進(jìn)行拼接;將不存在重復(fù)性的圖片資源的類渲染的時(shí)候保持不變,直接按需要生成的界面進(jìn)行拼接,最后得到一完整的圖片。本發(fā)明大大降低了 GUI資源量,減少設(shè)備利用GUI的內(nèi)存消耗量,同時(shí)降低了 Draw call (繪圖調(diào)用)的次數(shù),提高了渲染效率。
圖I為一圖形用戶界面示意圖。圖2為圖I的圖形用戶界面中界面的背景的⑶I資源示意圖。圖3為圖I的圖形用戶界面中按鈕的背景的⑶I資源示意圖。圖4為本發(fā)明方法的流程示意圖。圖5為圖I的圖形用戶界面中的界面的背景按歸類后進(jìn)行分割成多個(gè)單獨(dú)的圖片資源,再對(duì)存在重復(fù)性的圖片資源進(jìn)行刪除后剩下的各類圖片資源的示意圖。
具體實(shí)施方式請(qǐng)參閱圖4所示,本發(fā)明的一種實(shí)現(xiàn)⑶I資源重復(fù)利用的方法,包括如下步驟步驟I、獲取一個(gè)⑶I資源,并判斷該⑶I資源中是否存在具有重復(fù)性的部分,否,則進(jìn)入步驟2 ;是,則進(jìn)入步驟3 ;步驟2、將該GUI資源隨機(jī)分割成多個(gè)單獨(dú)的圖片資源,并在設(shè)備的內(nèi)存中將各單獨(dú)的圖片資源進(jìn)行單獨(dú)存儲(chǔ),當(dāng)設(shè)備的程序需要調(diào)用某一單獨(dú)的圖片資源時(shí),從內(nèi)存中讀取各個(gè)需要的圖片資源并進(jìn)行渲染處理成一個(gè)完整的界面(如一個(gè)Gn資源沒有重復(fù)性的圖片資源,則直接隨機(jī)劃分3塊,這樣會(huì)減少設(shè)備利用GUI的內(nèi)存消耗量,3塊的圖片資源存儲(chǔ)在設(shè)備的內(nèi)存中,當(dāng)游戲運(yùn)行后,游戲程序要顯示該GUI資源時(shí),從內(nèi)存中將3塊進(jìn)行讀取然后進(jìn)行渲染處理拼接成一個(gè)完整的界面);步驟3、將GUI資源進(jìn)行離散化,所述離散化為將GUI資源中重復(fù)性的部分進(jìn)行歸類,然后將GUI資源按歸類后進(jìn)行分割成多個(gè)單獨(dú)的圖片資源;離散化后將各類中存在重復(fù)性的圖片資源進(jìn)行刪除,每類中剩下唯一的一圖片資源;不存在重復(fù)性的圖片資源的類不進(jìn)行操作;并在設(shè)備的內(nèi)存中將各類的圖片資源進(jìn)行單獨(dú)存儲(chǔ),當(dāng)設(shè)備的程序需要調(diào)用各類單獨(dú)的圖片資源時(shí),判斷被調(diào)用的各類圖片資源是否是有經(jīng)過(guò)進(jìn)行重復(fù)性的圖片刪除的操作,是,將有進(jìn)行重復(fù)性的圖片刪除的該類圖片資源進(jìn)行處理后,將各類圖片資源按需要生成的界面拼接在一張圖片上,得到一完整的界面;該具體為具體為將有進(jìn)行重復(fù)性的圖片刪除的該類圖片資源通過(guò)平鋪或鏡像或拉伸的方式進(jìn)行處理,將處理后的該類圖片資源按需要生成的界面進(jìn)行拼接;將不存在重復(fù)性的圖片資源的類渲染的時(shí)候保持不變,直接按需要生成的界面進(jìn)行拼接,最后得到一完整的圖片。否,則調(diào)用需要的各類圖片資源并進(jìn)行渲染處理成一個(gè)完整的界面。其中,所述在設(shè)備的內(nèi)存中將各單獨(dú)的圖片資源進(jìn)行單獨(dú)存儲(chǔ)具體為將各單獨(dú)的圖片資源對(duì)應(yīng)地分配一 id,將各綁定id后的圖片資源在設(shè)備的內(nèi)存中對(duì)應(yīng)分配一存儲(chǔ)地址,并根據(jù)對(duì)應(yīng)的存儲(chǔ)地址將圖片資源進(jìn)行單獨(dú)存儲(chǔ)。當(dāng)設(shè)備的程序需要調(diào)用各類單獨(dú)的圖片資源時(shí)直接根據(jù)存儲(chǔ)地址進(jìn)行讀取。下面結(jié)合一具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。如圖5所示,是圖I的圖形用戶界面中的界面的背景按歸類后進(jìn)行分割成多個(gè)單獨(dú)的圖片資源,再對(duì)存在重復(fù)性的圖片資源進(jìn)行刪除后剩下的各類圖片資源的示意圖。首先獲取圖形用戶界面中的界面的背景的GUI資源,其中該GUI資源存在著重復(fù)性的圖片資
源,可以看出界面左右的柱子是重復(fù)性資源,其中一個(gè)可以通用另外一個(gè)鏡像得到;則將左右的柱子進(jìn)行歸類(即左右的柱子的圖片資源為第I類),界面的背景的左上、右上、左下、右下部分沒有重復(fù)性,將左上、右上、左下、右下四個(gè)部分分別獨(dú)立的歸類(即左上的圖片資源為第2類,即右上的圖片資源為第3類,即左下的圖片資源為第4類,即右下的圖片資源為第5類);界面的背景上、下、左、右以及中間,這5大塊存在重復(fù)性資源,該5大塊的各圖片資源還是可以分別對(duì)應(yīng)進(jìn)行分割成重復(fù)的幾塊;將上、下、左、右以及中間這5大塊進(jìn)行歸類(即界面的背景上的圖片資源為第6類,界面的背景下的圖片資源為第7類,界面的背景左的圖片資源為第8類,界面的背景右的圖片資源為第9類,界面的背景中間的圖片資源為第10類),第I類中將左右中的一個(gè)柱子圖片資源進(jìn)行刪除(即刪除左柱子,或者刪除右柱子);第6類、第7類、第8類、第9類、第10類中細(xì)分割的幾塊重復(fù)性的圖片進(jìn)行刪除,剩下唯一的一圖片資源;第2類、第3類、第4類、第5類中不存在重復(fù)性圖片資源,不用刪除。并在設(shè)備的內(nèi)存中將各類的圖片資源進(jìn)行單獨(dú)存儲(chǔ),當(dāng)設(shè)備的程序需要調(diào)用各類單獨(dú)的圖片資源時(shí),第I類的圖片資源進(jìn)行鏡像處理得到所需的圖片資源;背景上的圖片資源的第6類、界面的背景下的圖片資源的第7類、界面的背景左的圖片資源的第8類、界面的背景右的圖片資源的第9類均在渲染的時(shí)候采用拉伸的方式進(jìn)行處理;界面的背景中間的圖片資源的第10類在渲染的時(shí)候采用平鋪的方式進(jìn)行處理;第2類、第3類、第4類、第5類中不存在重復(fù)性圖片資源在渲染的時(shí)候保持不變,將各類圖片資源按需要生成的界面拼接在一張圖片上,得到一完整的界面(該界面如圖2所示)??傊景l(fā)明采用模板化的⑶I資源生成的方式,將一個(gè)⑶I資源中的重復(fù)性資源進(jìn)行歸類分割,并將重復(fù)性的資源刪除,各類的圖片資源中留下唯一的不重復(fù)的圖片資源,界面要生成時(shí),將唯一的不重復(fù)的圖片資源經(jīng)過(guò)圖形拉伸或平鋪或鏡像按所需的界面進(jìn)行拼接;將不存在重復(fù)性的圖片資源的類渲染的時(shí)候保持不變,直接按需要生成的界面進(jìn)行拼接,最后得到一完整的圖片。本發(fā)明大大降低了 GUI資源量,減少設(shè)備利用GUI的內(nèi)存消耗量,同時(shí)降低了 Draw call (繪圖調(diào)用)的次數(shù),提高了渲染效率。以上所述僅為本發(fā)明的較佳實(shí)施例,凡依本發(fā)明申請(qǐng)專利范圍所做的均等變化與修飾,皆應(yīng)屬本發(fā)明的涵蓋范圍。
權(quán)利要求
1.一種實(shí)現(xiàn)⑶I資源重復(fù)利用的方法,其特征在于,包括如下步驟 步驟I、獲取一個(gè)GUI資源,并判斷該GUI資源中是否存在具有重復(fù)性的部分,否,則進(jìn)入步驟2 ;是,則進(jìn)入步驟3 ; 步驟2、將該GUI資源隨機(jī)分割成多個(gè)單獨(dú)的圖片資源,并在設(shè)備的內(nèi)存中將各單獨(dú)的圖片資源進(jìn)行單獨(dú)存儲(chǔ),當(dāng)設(shè)備的程序需要調(diào)用某一單獨(dú)的圖片資源時(shí),從內(nèi)存中讀取各個(gè)需要的圖片資源并進(jìn)行渲染處理成一個(gè)完整的界面; 步驟3、將GUI資源進(jìn)行離散化,所述離散化為將GUI資源中重復(fù)性的部分進(jìn)行歸類,然后將GUI資源按歸類后進(jìn)行分割成多個(gè)單獨(dú)的圖片資源;離散化后將各類中存在重復(fù)性的圖片資源進(jìn)行刪除,每類中剩下唯一的一圖片資源;不存在重復(fù)性的圖片資源的類不進(jìn)行操作;并在設(shè)備的內(nèi)存中將各類的圖片資源進(jìn)行單獨(dú)存儲(chǔ),當(dāng)設(shè)備的程序需要調(diào)用各類單獨(dú)的圖片資源時(shí),判斷被調(diào)用的各類圖片資源是否是有經(jīng)過(guò)進(jìn)行重復(fù)性的圖片刪除的操作,是,將有進(jìn)行重復(fù)性的圖片刪除的該類圖片資源進(jìn)行處理后,將各類圖片資源按需要生成的界面拼接在一張圖片上,得到一完整的界面;否,則調(diào)用需要的各類圖片資源并進(jìn)行渲染處理成一個(gè)完整的界面。
2.根據(jù)權(quán)利要求I所述的一種實(shí)現(xiàn)GUI資源重復(fù)利用的方法,其特征在于所述在設(shè)備的內(nèi)存中將各單獨(dú)的圖片資源進(jìn)行單獨(dú)存儲(chǔ)具體為將各單獨(dú)的圖片資源對(duì)應(yīng)地分配一id,將各綁定id后的圖片資源在設(shè)備的內(nèi)存中對(duì)應(yīng)分配一存儲(chǔ)地址,并根據(jù)對(duì)應(yīng)的存儲(chǔ)地址將圖片資源進(jìn)行單獨(dú)存儲(chǔ)。
3.根據(jù)權(quán)利要求I所述的一種實(shí)現(xiàn)GUI資源重復(fù)利用的方法,其特征在于將有進(jìn)行重復(fù)性的圖片刪除的該類圖片資源進(jìn)行處理后,將各類圖片資源按需要生成的界面拼接在一張圖片上,得到一完整的界面,具體為將有進(jìn)行重復(fù)性的圖片刪除的該類圖片資源通過(guò)平鋪或鏡像或拉伸的方式進(jìn)行處理,將處理后的該類圖片資源按需要生成的界面進(jìn)行拼接;將不存在重復(fù)性的圖片資源的類渲染的時(shí)候保持不變,直接按需要生成的界面進(jìn)行拼接,最后得到一完整的圖片。
全文摘要
本發(fā)明提供一種實(shí)現(xiàn)GUI資源重復(fù)利用的方法,獲取一個(gè)GUI資源,并判斷該GUI資源中是否存在具有重復(fù)性的部分,有重復(fù)性的GUI資源進(jìn)行離散化,離散化后將各類中存在重復(fù)性的圖片資源進(jìn)行刪除,每類中剩下唯一的一圖片資源;不存在重復(fù)性的圖片資源的類不進(jìn)行操作;并在設(shè)備的內(nèi)存中將各類的圖片資源進(jìn)行單獨(dú)存儲(chǔ),當(dāng)程序需要調(diào)用各類單獨(dú)的圖片資源時(shí),判斷被調(diào)用的各類圖片資源是否是有經(jīng)過(guò)進(jìn)行重復(fù)性的圖片刪除的操作,是,將有進(jìn)行重復(fù)性的圖片刪除的該類圖片資源進(jìn)行處理后,將各類圖片資源按需要生成的界面拼接在一張圖片上,得到一完整的界面。本發(fā)明降低了GUI資源量,減少設(shè)備利用GUI的內(nèi)存消耗量,提高GUI渲染效率。
文檔編號(hào)G06T5/50GK102855615SQ20121028085
公開日2013年1月2日 申請(qǐng)日期2012年8月8日 優(yōu)先權(quán)日2012年8月8日
發(fā)明者劉德建, 陳宏展, 蘭磊, 吳擁民, 翁嵐鵬 申請(qǐng)人:福建天晴在線互動(dòng)科技有限公司