本發(fā)明涉及移動(dòng)終端領(lǐng)域,特別涉及一種降低移動(dòng)終端耗電的方法及裝置。
背景技術(shù):
為打造優(yōu)秀的手機(jī)應(yīng)用,開發(fā)者都設(shè)法降低應(yīng)用對(duì)電池使用時(shí)間的影響,讓應(yīng)用能夠根據(jù)其所在設(shè)備的狀態(tài)來監(jiān)控和調(diào)整其應(yīng)用的功能和行為。
在不影響用戶體驗(yàn)的情況下,為確保最大程度地降低應(yīng)用對(duì)電池使用時(shí)間的影響,大部分應(yīng)用采取如下措施:在網(wǎng)絡(luò)連接斷開時(shí)停用后臺(tái)服務(wù)更新,降低屏幕亮度,關(guān)閉藍(lán)牙、定位、無線網(wǎng)絡(luò)功能等。一些省電應(yīng)用(app)的原理也是基于上面這些措施的。也就是說,現(xiàn)有措施解決問題的出發(fā)點(diǎn)是,在電量低時(shí)直接關(guān)閉相關(guān)功能。
在智能手機(jī)節(jié)省電量方面,也有將手機(jī)渲染的彩色圖像轉(zhuǎn)成黑白圖像的方案,但這種方案對(duì)短信或基本的文本操作界面比較實(shí)用,而對(duì)游戲等要求顯示絢麗繽紛畫面的手機(jī)應(yīng)用,實(shí)用性不大。
技術(shù)實(shí)現(xiàn)要素:
根據(jù)本發(fā)明實(shí)施例提供的一種降低移動(dòng)終端耗電的方法及裝置,在移動(dòng)終端低電量時(shí),保證基本不影響手機(jī)的顯示效果的情況下,動(dòng)態(tài)的調(diào)整手機(jī)應(yīng)用的刷新幀率,以達(dá)到降低耗電的目的。
根據(jù)本發(fā)明實(shí)施例提供的一種降低移動(dòng)終端耗電的方法,包括:
移動(dòng)終端運(yùn)行游戲期間,對(duì)所述移動(dòng)終端的電池電量進(jìn)行監(jiān)測;
當(dāng)監(jiān)測到所述移動(dòng)終端的電池電量處于低電量時(shí),獲取所述運(yùn)行游戲的顯示類型;
按照所述運(yùn)行游戲的顯示類型,控制所述移動(dòng)終端的渲染刷新幀率。
優(yōu)選地,所述的按照所述運(yùn)行游戲的顯示類型,控制所述移動(dòng)終端的渲染刷新幀率包括:
通過查詢所述顯示類型對(duì)應(yīng)的配置文件,獲取適應(yīng)于所述移動(dòng)終端低電量的預(yù)設(shè)幀率,并將移動(dòng)終端的渲染刷新幀率從正常幀率降低至所述預(yù)設(shè)幀率。
優(yōu)選地,若所述顯示類型是靜態(tài)場景圖,則所獲取的預(yù)設(shè)幀率小于10。
優(yōu)選地,若所述顯示類型是序列幀動(dòng)畫,則在獲取適應(yīng)于所述移動(dòng)終端低電量的預(yù)設(shè)幀率的同時(shí),進(jìn)一步獲取與所述預(yù)設(shè)幀率適配的播放序列,并顯示所述播放序列。
優(yōu)選地,若所述顯示類型是骨骼動(dòng)畫,則在獲取適應(yīng)于所述移動(dòng)終端低電量的預(yù)設(shè)幀率的同時(shí),進(jìn)一步獲取與所述預(yù)設(shè)幀率適配的骨骼數(shù)據(jù),并按照所述骨骼數(shù)據(jù),顯示骨骼動(dòng)畫。
根據(jù)本發(fā)明實(shí)施例提供的一種降低移動(dòng)終端耗電的裝置,包括:
監(jiān)測模塊,用于在移動(dòng)終端運(yùn)行游戲期間,對(duì)所述移動(dòng)終端的電池電量進(jìn)行監(jiān)測;
獲取模塊,用于當(dāng)監(jiān)測到所述移動(dòng)終端的電池電量處于低電量時(shí),獲取所述運(yùn)行游戲的顯示類型;
控制模塊,用于按照所述運(yùn)行游戲的顯示類型,控制所述移動(dòng)終端的渲染刷新幀率。
優(yōu)選地,所述控制模塊具體用于通過查詢所述顯示類型對(duì)應(yīng)的配置文件,獲取適應(yīng)于所述移動(dòng)終端低電量的預(yù)設(shè)幀率,并將移動(dòng)終端的渲染刷新幀率從正常幀率降低至所述預(yù)設(shè)幀率。
優(yōu)選地,若所述顯示類型是靜態(tài)場景圖,則所獲取的預(yù)設(shè)幀率小于10。
優(yōu)選地,若所述顯示類型是序列幀動(dòng)畫,則所述控制模塊在獲取適應(yīng)于所述移動(dòng)終端低電量的預(yù)設(shè)幀率的同時(shí),進(jìn)一步獲取與所述預(yù)設(shè)幀率適配的播放序列,并顯示所述播放序列。
優(yōu)選地,若所述顯示類型是骨骼動(dòng)畫,則所述控制模塊在獲取適應(yīng)于所述移動(dòng)終端低電量的預(yù)設(shè)幀率的同時(shí),進(jìn)一步獲取與所述預(yù)設(shè)幀率適配的骨骼數(shù)據(jù),并按照所述骨骼數(shù)據(jù),顯示骨骼動(dòng)畫。
本發(fā)明實(shí)施例提供的技術(shù)方案具有如下有益效果:
1、本發(fā)明實(shí)施例在移動(dòng)終端處于低電量時(shí),能夠通過動(dòng)態(tài)調(diào)整渲染刷新幀率,降低智能手機(jī)等終端的耗電量。
2、本發(fā)明實(shí)施例在降低終端耗電量的同時(shí),能夠基本保證終端畫面的顯示效果。
附圖說明
圖1是本發(fā)明實(shí)施例提供的降低移動(dòng)終端耗電的方法框圖;
圖2是本發(fā)明實(shí)施例提供的恢復(fù)渲染刷新幀率時(shí)的處理流程圖;
圖3是本發(fā)明實(shí)施例提供的降低移動(dòng)終端耗電的裝置框圖;
圖4是本發(fā)明實(shí)施例提供的在動(dòng)畫制作階段到游戲運(yùn)行階段的邏輯圖;
圖5是本發(fā)明實(shí)施例提供的游戲運(yùn)行階段的json配置文件示意圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行詳細(xì)說明,應(yīng)當(dāng)理解,以下所說明的優(yōu)選實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
圖1是本發(fā)明實(shí)施例提供的降低移動(dòng)終端耗電的方法框圖,如圖1所示,步驟包括:
步驟S101:移動(dòng)終端運(yùn)行游戲期間,對(duì)所述移動(dòng)終端的電池電量進(jìn)行監(jiān)測。
利用步驟S101,能夠確定所述移動(dòng)終端電池電量,并確定是否需要降低所述移動(dòng)終端的渲染刷新幀率,以降低所述移動(dòng)終端的耗電量。本實(shí)施例中,如果移動(dòng)終端處于低電量狀態(tài),則需要降低渲染刷新幀率,否則保持或恢復(fù)正常渲染刷新幀率。
步驟S102:當(dāng)監(jiān)測到所述移動(dòng)終端的電池電量處于低電量時(shí),獲取所述運(yùn)行游戲的顯示類型。
其中,當(dāng)電池電量低于預(yù)設(shè)電量時(shí),例如低于20%,則說明移動(dòng)終端處于低電量狀態(tài)。
其中,所述運(yùn)行游戲的顯示類型包括靜態(tài)場景圖、序列幀動(dòng)畫、骨骼動(dòng)畫。
在處于低電量狀態(tài)的移動(dòng)終端運(yùn)行游戲時(shí),不僅要通過降低移動(dòng)終端的渲染刷新幀率,降低所述移動(dòng)終端耗電量,更要在降低移動(dòng)終端的渲染刷新幀率的同時(shí),保證游戲畫面能夠平滑流暢。由于游戲顯示類型及動(dòng)作制作方式等差異性,為保證流暢性,本實(shí)施例首先需要確定顯示類型,以便按照顯示類型,找到相應(yīng)的能夠確保用戶良好體驗(yàn)的配置文件。
步驟S103:按照所述運(yùn)行游戲的顯示類型,控制所述移動(dòng)終端的渲染刷新幀率。
步驟S103包括:通過查詢所述顯示類型對(duì)應(yīng)的配置文件,獲取適應(yīng)于所述移動(dòng)終端低電量的預(yù)設(shè)幀率,并將移動(dòng)終端的渲染刷新幀率從正常幀率降低至所述預(yù)設(shè)幀率。
若所述顯示類型是靜態(tài)場景圖,說明沒有動(dòng)畫,無論渲染刷新幀率高低,均不影響用戶體驗(yàn),因此可以將渲染刷新幀率下降至個(gè)位數(shù),即預(yù)設(shè)幀率小于10。在處于低電量狀態(tài)的移動(dòng)終端運(yùn)行這種現(xiàn)實(shí)類型的游戲時(shí),直接將渲染刷新幀率下降至預(yù)設(shè)幀率即可。
若所述顯示類型是序列幀動(dòng)畫,查詢序列幀動(dòng)畫對(duì)應(yīng)的配置文件,獲取適應(yīng)于所述移動(dòng)終端低電量的預(yù)設(shè)幀率,并將移動(dòng)終端的渲染刷新幀率降低至該預(yù)設(shè)幀率。為確保移動(dòng)終端渲染刷新幀率降低至該預(yù)設(shè)幀率的同時(shí)不影響用戶體驗(yàn),需要使播放的動(dòng)畫序列幀數(shù)量與該預(yù)設(shè)幀率相適應(yīng),也就是說,與渲染刷新幀率正常時(shí)播放的正常序列幀數(shù)量相比,渲染刷新幀率降低后,只能通過播放數(shù)量更少的序列幀,保證顯示畫面的平滑性和流暢性。作為一種實(shí)施方式,預(yù)先制定并保存適應(yīng)于該預(yù)設(shè)幀率的幀數(shù)較少的播放序列,當(dāng)渲染刷新幀率降低至該預(yù)設(shè)幀率時(shí),播放該播放序列即可。作為另一種實(shí)施方式,可以從正常播放序列中確定能夠保證流暢性的序列幀,當(dāng)渲染刷新幀率降低至該預(yù)設(shè)幀率時(shí),從所述正常的播放序列中選取預(yù)先確定的能夠保證流暢性的序列幀,并形成播放序列進(jìn)行播放。
若所述顯示類型是骨骼動(dòng)畫,查詢骨骼動(dòng)畫對(duì)應(yīng)的配置文件,獲取適應(yīng)于所述移動(dòng)終端低電量的預(yù)設(shè)幀率,并將移動(dòng)終端的渲染刷新幀率降低至該預(yù)設(shè)幀率。為確保移動(dòng)終端渲染刷新幀率降低至該預(yù)設(shè)幀率的同時(shí)不影響用戶體驗(yàn),本實(shí)施例需要預(yù)先制作并保存與所述預(yù)設(shè)幀率適配的骨骼數(shù)據(jù)。這樣,游戲運(yùn)行于低電量的移動(dòng)終端,且渲染刷新幀率降低至該預(yù)設(shè)幀率時(shí),可以獲取與所述預(yù)設(shè)幀率適配的骨骼數(shù)據(jù),并按照所述骨骼數(shù)據(jù),顯示骨骼動(dòng)畫。
本領(lǐng)域普通技術(shù)人員可以理解,實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過程序以及硬件提供的API來來指令相關(guān)的硬件來完成,所述的程序可以存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在移動(dòng)終端執(zhí)行時(shí),實(shí)現(xiàn)步驟S101至步驟S103。其中,所述的存儲(chǔ)介質(zhì)可以為ROM/RAM、硬盤、U盤等。
圖2是本發(fā)明實(shí)施例提供的恢復(fù)渲染刷新幀率時(shí)的處理流程圖,如圖2所示,步驟包括:
步驟S201:移動(dòng)終端運(yùn)行游戲期間,對(duì)所述移動(dòng)終端的電池電量進(jìn)行監(jiān)測。
利用步驟S201,能夠確定所述移動(dòng)終端電池電量,并確定是否需要恢復(fù)所述移動(dòng)終端的渲染刷新幀率。
步驟S202:當(dāng)監(jiān)測到所述移動(dòng)終端的電池電量未處于低電量(例如大于或等于20%)時(shí),恢復(fù)所述移動(dòng)終端的渲染刷新幀率,即將所述移動(dòng)終端的渲染刷新幀率從相應(yīng)的預(yù)設(shè)幀率恢復(fù)至正常幀率。
其中,所述運(yùn)行游戲的顯示類型包括靜態(tài)場景圖、序列幀動(dòng)畫、骨骼動(dòng)畫。
若所述顯示類型是靜態(tài)場景圖,說明沒有動(dòng)畫,無論渲染刷新幀率高低,均不影響用戶體驗(yàn),因此可以將移動(dòng)終端的渲染刷新幀率直接從小于10的預(yù)設(shè)幀率恢復(fù)至正常幀率。
若所述顯示類型是序列幀動(dòng)畫,將移動(dòng)終端的渲染刷新幀率恢復(fù)至正常幀率的同時(shí),需要通過查詢序列幀動(dòng)畫對(duì)應(yīng)的配置文件,獲取與正常幀率相適應(yīng)的正常幀數(shù)的播放序列,并播放該播放序列。
若所述顯示類型是骨骼動(dòng)畫,將移動(dòng)終端的渲染刷新幀率恢復(fù)至正常幀率的同時(shí),需要通過查詢骨骼動(dòng)畫對(duì)應(yīng)的配置文件,獲取與正常幀率適配的骨骼數(shù)據(jù),并按照所述與正常幀率適配的骨骼數(shù)據(jù),顯示骨骼動(dòng)畫。
本領(lǐng)域普通技術(shù)人員可以理解,實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過程序以及硬件提供的API來指令相關(guān)的硬件來完成,所述的程序可以存儲(chǔ)于計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在移動(dòng)終端上執(zhí)行時(shí),實(shí)現(xiàn)步驟S201至步驟S202。其中,所述的存儲(chǔ)介質(zhì)可以為ROM/RAM、硬盤、U盤等。
圖3是本發(fā)明實(shí)施例提供的降低移動(dòng)終端耗電的裝置框圖,如圖3所示,包括:
監(jiān)測模塊,用于在移動(dòng)終端運(yùn)行游戲期間,對(duì)所述移動(dòng)終端的電池電量進(jìn)行監(jiān)測。
獲取模塊,用于當(dāng)監(jiān)測到所述移動(dòng)終端的電池電量處于低電量(例如低于20%)時(shí),獲取所述運(yùn)行游戲的顯示類型,包括靜態(tài)場景圖、序列幀動(dòng)畫、骨骼動(dòng)畫。
控制模塊,用于按照所述運(yùn)行游戲的顯示類型,控制所述移動(dòng)終端的渲染刷新幀率。所述控制模塊具體用于通過查詢所述顯示類型對(duì)應(yīng)的配置文件,獲取適應(yīng)于所述移動(dòng)終端低電量的預(yù)設(shè)幀率,并將移動(dòng)終端的渲染刷新幀率從正常幀率降低至所述預(yù)設(shè)幀率。
具體工作流程如下:
在移動(dòng)終端運(yùn)行游戲期間,若監(jiān)測模塊監(jiān)測到電池電量小于20%,說明需要通過調(diào)整渲染刷新幀率降低耗電量,此時(shí)獲取模塊獲取運(yùn)行游戲的顯示類型是靜態(tài)場景圖、序列幀動(dòng)畫,還是骨骼動(dòng)畫。若所述顯示類型是靜態(tài)場景圖,則所述控制模塊通過查詢所述靜態(tài)場景圖對(duì)應(yīng)的配置文件獲取小于10的預(yù)設(shè)幀率,并按照該小于10的預(yù)設(shè)幀率播放該靜態(tài)場景圖。若所述顯示類型是序列幀動(dòng)畫,則所述控制模塊通過查詢序列幀動(dòng)畫對(duì)應(yīng)的配置文件,獲取適應(yīng)于所述移動(dòng)終端低電量的預(yù)設(shè)幀率,并將移動(dòng)終端的渲染刷新幀率降低至該預(yù)設(shè)幀率,同時(shí),為確保良好的用戶體驗(yàn),需要減少動(dòng)畫序列幀的播放數(shù)量,使減少后的動(dòng)畫序列幀數(shù)量與該預(yù)設(shè)幀率相適應(yīng),具體實(shí)施時(shí),預(yù)先制定并保存適應(yīng)于該預(yù)設(shè)幀率的幀數(shù)較少的播放序列,當(dāng)渲染刷新幀率降低至該預(yù)設(shè)幀率時(shí),播放該播放序列即可,作為替代實(shí)施方式,可以從正常播放序列中確定能夠保證流暢性的序列幀,當(dāng)渲染刷新幀率降低至該預(yù)設(shè)幀率時(shí),從所述正常播放序列中選取預(yù)先確定的能夠保證流暢性的序列幀,并形成播放序列進(jìn)行播放。若所述顯示類型是骨骼動(dòng)畫,則所述控制模塊通過查詢骨骼動(dòng)畫對(duì)應(yīng)的配置文件,獲取適應(yīng)于所述移動(dòng)終端低電量的預(yù)設(shè)幀率,并將移動(dòng)終端的渲染刷新幀率降低至該預(yù)設(shè)幀率,同時(shí),為確保良好的用戶體驗(yàn),具體實(shí)施時(shí),預(yù)先制定并保存與所述預(yù)設(shè)幀率適配的骨骼數(shù)據(jù),當(dāng)渲染刷新幀率降低至該預(yù)設(shè)幀率時(shí),獲取與所述預(yù)設(shè)幀率適配的骨骼數(shù)據(jù),并按照所述與所述預(yù)設(shè)幀率適配的骨骼數(shù)據(jù),顯示骨骼動(dòng)畫。
進(jìn)一步地,在移動(dòng)終端運(yùn)行游戲期間,若監(jiān)測模塊監(jiān)測到電池電量大于或等于20%時(shí),需要將所述移動(dòng)終端的渲染刷新幀率保持至正常幀率或從相應(yīng)預(yù)設(shè)幀率恢復(fù)至預(yù)設(shè)幀率。具體實(shí)施例,如果所述移動(dòng)終端的渲染刷新幀率已經(jīng)是正常幀率,則不進(jìn)行任何操作,如果所述移動(dòng)終端的渲染刷新幀率是低于正常幀率的預(yù)設(shè)幀率,則所述獲取模塊獲取所述運(yùn)行游戲的顯示類型。若所述顯示類型是靜態(tài)場景圖,則說明沒有動(dòng)畫,所述控制模塊將移動(dòng)終端的渲染刷新幀率直接從小于10的預(yù)設(shè)幀率恢復(fù)至正常幀率即可。若所述顯示類型是序列幀動(dòng)畫,則所述控制模塊通過查詢序列幀動(dòng)畫對(duì)應(yīng)的配置文件,將移動(dòng)終端的渲染刷新幀率恢復(fù)至正常幀率,同時(shí)獲取與正常幀率相適應(yīng)的正常幀數(shù)的播放序列,并播放該播放序列。若所述顯示類型是骨骼動(dòng)畫,則所述控制模塊通過查詢骨骼動(dòng)畫對(duì)應(yīng)的配置文件,將移動(dòng)終端的渲染刷新幀率恢復(fù)至正常幀率,同時(shí),獲取與正常幀率適配的骨骼數(shù)據(jù),并按照所述與正常幀率適配的骨骼數(shù)據(jù),顯示骨骼動(dòng)畫。
智能手機(jī)屏幕刷新幀率,即屏幕內(nèi)顯示圖像每秒中刷新的次數(shù),即控制屏幕的圖形處理器處理時(shí)每秒鐘能夠更新的次數(shù),高的幀率可以得到更流暢、更逼真的動(dòng)畫。一般來說30fps(fps指每秒中刷新次數(shù))就是可以接受的,但是將性能提升至60fps則可以明顯提升交互感和逼真感,但是超過75fps,就超出了人眼辨識(shí)度,一般不容易察覺到有明顯的流暢度提升。當(dāng)然,如果渲染刷新幀率超過屏幕刷新幀率,只會(huì)浪費(fèi)圖形處理的能力,增加耗電量。對(duì)于手機(jī)來說,便攜性的要求決定了節(jié)省電量在手機(jī)應(yīng)用優(yōu)化中占了重要部分?;酒交膭?dòng)畫顯示又是手機(jī)開發(fā)的前提之一。因此,本發(fā)明實(shí)施例能夠在保證基本平滑的動(dòng)畫顯示的前提下,通過動(dòng)態(tài)調(diào)整渲染刷新幀率,來降低耗電量。
圖4是本發(fā)明實(shí)施例提供的在動(dòng)畫制作階段到游戲運(yùn)行階段的邏輯圖,圖5是本發(fā)明實(shí)施例提供的游戲運(yùn)行階段的json配置文件示意圖,如圖4和圖5所示,本實(shí)施例描述了一種基于Egret Runtime的降低耗電量的方法,本實(shí)施例中使用Egret Runtime提供的JavaScript API統(tǒng)一接口監(jiān)測iOS和Android電池電量,然后根據(jù)游戲業(yè)務(wù)邏輯需求,調(diào)用對(duì)應(yīng)的JavaScript API減低渲染刷新幀率。
首先利用提供API注冊(cè)事件來接收手機(jī)低電量時(shí)的通知,然后在低電量情況下調(diào)整幀率,并在充電可以到達(dá)ok狀態(tài)(一般是超過20%之后),再恢復(fù)到正常幀率。
下面是針對(duì)幾種特定條件下,調(diào)整幀率(即渲染刷新幀率)的方法:
1、游戲場景為靜態(tài)場景
動(dòng)畫制作階段,高低幀率情況一致,無動(dòng)畫;
游戲運(yùn)行階段,移動(dòng)終端低電量時(shí),可以將幀率直接降低到個(gè)位數(shù)。
2、序列幀動(dòng)畫
動(dòng)畫制作階段,在高幀率情況下,制作的幀數(shù)多,在低幀率的情況下,制作的幀數(shù)少。
游戲運(yùn)行階段,相同時(shí)間內(nèi),正常電量(例如大于或等于20%)時(shí),播放幀數(shù)多的動(dòng)畫,低電量(例如小于20%)時(shí),播放幀數(shù)少的動(dòng)畫。
具體實(shí)施時(shí),可采用以下任意一種方式:
(1)對(duì)于游戲場景中單個(gè)或多個(gè)動(dòng)畫序列幀播放,在制作階段可以按照每秒12幀或是更少的幀數(shù)來制作,所以在降低幀數(shù)之后,這些動(dòng)畫序列幀可以按照預(yù)先準(zhǔn)備的較少幀數(shù)的播放序列來播放。
(2)、把動(dòng)畫序列按照正常每秒24幀制作,而在游戲運(yùn)行階段,只將1,3,7,8,9幀等按順序進(jìn)行播放,即跳過了中間2,4,5,6,10幀。上面所說的跳過中間幀的方法需要美術(shù)人員判斷跳過哪些幀,從而保證動(dòng)畫的流暢播放。用這種方法來滿足每秒只以少數(shù)幀進(jìn)行屏幕刷新的游戲邏輯,能夠保證畫面流暢和合理性。
3、骨骼動(dòng)畫
骨骼數(shù)據(jù)用來存儲(chǔ)每幀更新的數(shù)據(jù),例如骨骼的頂點(diǎn)數(shù)據(jù)(x,y),以及動(dòng)畫的總幀數(shù)等。在播放時(shí),動(dòng)畫的總幀數(shù)固定,頂點(diǎn)數(shù)據(jù)(x,y)在下一幀的位置是根據(jù)每幀的間隔時(shí)間來計(jì)算的,如果設(shè)置成低幀率,那么每幀間隔時(shí)間增大,則播放速度會(huì)變慢,所以需要配置適合在低幀率時(shí)顯示的另外一套骨骼數(shù)據(jù),來保證正確的播放速度。例如,動(dòng)畫制作階段,在高幀率情況下,骨骼數(shù)據(jù)按照2n幀/秒制作,在低幀率的情況下,骨骼數(shù)據(jù)按照n幀/秒制作。這樣,游戲運(yùn)行階段,正常電量(例如大于或等于20%)時(shí),播放高幀率骨骼動(dòng)畫,低電量(例如小于20%)時(shí),播放低幀率骨骼動(dòng)畫。
上面的方法可以放在配置文件中,譬如Json格式的,如圖5所示,對(duì)于每種邏輯情況,預(yù)先配置在這種情況下的具體幀數(shù),當(dāng)手機(jī)電量低時(shí),游戲邏輯滿足Json格式配置文件描述的某個(gè)條件時(shí),調(diào)用Egret Runtime的相應(yīng)函數(shù)接口把幀數(shù)下降到預(yù)先設(shè)定的幀數(shù)。
需要說明的是,圖4中,骨骼數(shù)據(jù)以及關(guān)鍵幀的數(shù)量由美術(shù)人員使用動(dòng)畫工具來進(jìn)行制作,并不限制其具體數(shù)字,只要保證基本流暢的動(dòng)畫即可。圖5中,具體幀數(shù),骨骼數(shù)據(jù)的名字等由具體實(shí)施中美術(shù)人員使用動(dòng)畫工具制作時(shí)才確定,并不是最終確切的數(shù)字,圖中僅表達(dá)了一種配置方式,也可以使用其他格式的配置文件,譬如xml等。本實(shí)施例解析Json配置文件采用Egret引擎提供的函數(shù)接口。
本實(shí)施例基于Egret Runtime,Egret Runtime會(huì)提供JavaScriptAPI統(tǒng)一接口,為Web開發(fā)者提供一種獲取native底層硬件電池信息,以便在電池電量低時(shí)通過調(diào)整渲染刷新幀率,來降低耗電量。
盡管上文對(duì)本發(fā)明進(jìn)行了詳細(xì)說明,但是本發(fā)明不限于此,本技術(shù)領(lǐng)域技術(shù)人員可以根據(jù)本發(fā)明的原理進(jìn)行各種修改。因此,凡按照本發(fā)明原理所作的修改,都應(yīng)當(dāng)理解為落入本發(fā)明的保護(hù)范圍。