本發(fā)明實(shí)施例涉及移動(dòng)終端技術(shù)領(lǐng)域,尤其涉及一種移動(dòng)終端刷新率的控制方法、裝置及移動(dòng)終端。
背景技術(shù):
隨著移動(dòng)終端技術(shù)的發(fā)展,各式各樣的移動(dòng)終端已成為人們生活工作中不可或缺的工具。在安裝有操作系統(tǒng)的移動(dòng)終端中,移動(dòng)終端通過(guò)不斷刷新顯示畫面來(lái)呈現(xiàn)不同時(shí)刻下的各種顯示畫面。
在手機(jī)等移動(dòng)終端中的顯示刷新流程中主要包括畫面繪制操作、畫面合成操作和顯示操作。各應(yīng)用如桌面或視頻等,執(zhí)行繪圖(render)操作,以分別繪制各自的圖像;待所有應(yīng)用完成render操作后,系統(tǒng)執(zhí)行合成(compose)操作,以將各應(yīng)用所繪制的圖像合成為一個(gè)顯示幀;將該顯示幀輸出到屏幕上進(jìn)行最終顯示。相關(guān)技術(shù)中的移動(dòng)終端在刷新操作中對(duì)刷新率的控制方法存在缺陷,需要改進(jìn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種移動(dòng)終端刷新率的控制方法、裝置及移動(dòng)終端,可以合理的控制移動(dòng)終端顯示屏的刷新率。
在第一方面,本發(fā)明實(shí)施例提供了一種移動(dòng)終端刷新率的控制方法,包括:
確定當(dāng)前運(yùn)行的前臺(tái)應(yīng)用程序?yàn)榘酌麊沃械脑O(shè)定應(yīng)用程序;
獲取所述前臺(tái)應(yīng)用程序在所述白名單中對(duì)應(yīng)的設(shè)定刷新率,根據(jù)所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定移動(dòng)終端的顯示屏的目標(biāo)刷新率,其中,所述顯示屏的工作模式為命令模式;
通過(guò)顯示控制器控制顯示屏以與所述目標(biāo)刷新率相同的頻率從顯示屏的幀緩存單元中讀取待顯示的顯示幀數(shù)據(jù)并進(jìn)行顯示。
在第二方面,本發(fā)明實(shí)施例提供了一種移動(dòng)終端刷新率的控制裝置,包括:
設(shè)定應(yīng)用程序確定模塊,用于確定當(dāng)前運(yùn)行的前臺(tái)應(yīng)用程序?yàn)榘酌麊沃械脑O(shè)定應(yīng)用程序;
第一目標(biāo)刷新率確定模塊,用于獲取所述前臺(tái)應(yīng)用程序在所述白名單中對(duì)應(yīng)的設(shè)定刷新率,根據(jù)所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定移動(dòng)終端的顯示屏的目標(biāo)刷新率,其中,所述顯示屏的工作模式為命令模式;
待顯示數(shù)據(jù)顯示模塊,用于通過(guò)顯示控制器控制顯示屏以與所述目標(biāo)刷新率相同的頻率從顯示屏的幀緩存單元中讀取待顯示的顯示幀數(shù)據(jù)并進(jìn)行顯示。
在第三方面,本發(fā)明實(shí)施例提供了一種移動(dòng)終端,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)以下步驟:
確定當(dāng)前運(yùn)行的前臺(tái)應(yīng)用程序?yàn)榘酌麊沃械脑O(shè)定應(yīng)用程序;
獲取所述前臺(tái)應(yīng)用程序在所述白名單中對(duì)應(yīng)的設(shè)定刷新率,根據(jù)所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定移動(dòng)終端的顯示屏的目標(biāo)刷新率,其中,所述顯示屏的工作模式為命令模式;
通過(guò)顯示控制器控制顯示屏以與所述目標(biāo)刷新率相同的頻率從顯示屏的幀緩存單元中讀取待顯示的顯示幀數(shù)據(jù)并進(jìn)行顯示。
本發(fā)明實(shí)施例通過(guò)檢測(cè)當(dāng)前運(yùn)行的前臺(tái)應(yīng)用程序,若所述前臺(tái)應(yīng)用程序?yàn)榘酌麊沃械脑O(shè)定應(yīng)用程序則獲取所述前臺(tái)應(yīng)用程序在白名單中對(duì)應(yīng)的設(shè)定刷新率,根據(jù)所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定移動(dòng)終端的顯示屏的目標(biāo)刷新率,其中,所述顯示屏的工作模式為命令模式,通過(guò)顯示控制器控制顯示屏以與所述目標(biāo)刷新率相同的頻率從顯示屏的幀緩存單元中讀取待顯示的顯示幀數(shù)據(jù)并進(jìn)行顯示,可以合理的控制移動(dòng)終端顯示屏的刷新率。
附圖說(shuō)明
圖1是本發(fā)明一個(gè)實(shí)施例提供的一種移動(dòng)終端刷新率的控制方法的流程圖;
圖2是本發(fā)明一個(gè)實(shí)施例提供的一種顯示過(guò)程的示意圖;
圖3是本發(fā)明一個(gè)實(shí)施例提供的顯示屏在視頻模式和命令模式下顯示數(shù)據(jù)傳輸?shù)氖疽鈭D;
圖4是本發(fā)明一個(gè)實(shí)施例提供的一種移動(dòng)終端刷新率的控制方法的流程圖;
圖5是本發(fā)明一個(gè)實(shí)施例提供的一種移動(dòng)終端刷新率的控制裝置的結(jié)構(gòu)示意圖;
圖6是本發(fā)明一個(gè)實(shí)施例提供的一種移動(dòng)終端的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖對(duì)本發(fā)明具體實(shí)施例作進(jìn)一步的詳細(xì)描述??梢岳斫獾氖?,此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明,而非對(duì)本發(fā)明的限定。另外還需要說(shuō)明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部?jī)?nèi)容。在更加詳細(xì)地討論示例性實(shí)施例之前應(yīng)當(dāng)提到的是,一些示例性實(shí)施例被描述成作為流程圖描繪的處理或方法。雖然流程圖將各項(xiàng)操作(或步驟)描述成順序的處理,但是其中的許多操作可以被并行地、并發(fā)地或者同時(shí)實(shí)施。此外,各項(xiàng)操作的順序可以被重新安排。當(dāng)其操作完成時(shí)所述處理可以被終止,但是還可以具有未包括在附圖中的附加步驟。所述處理可以對(duì)應(yīng)于方法、函數(shù)、規(guī)程、子例程、子程序等等。
圖1給出了本發(fā)明一個(gè)實(shí)施例提供的一種移動(dòng)終端刷新率的控制方法的流程圖,本實(shí)施例的方法可以由移動(dòng)終端刷新率的控制裝置來(lái)執(zhí)行,該裝置可通過(guò)硬件和/或軟件的方式實(shí)現(xiàn),所述裝置可作為移動(dòng)終端一部分設(shè)置在所述移動(dòng)終端的內(nèi)部。
如圖1所示,本實(shí)施例提供的移動(dòng)終端刷新率的控制方法包括以下步驟:
步驟101、確定當(dāng)前運(yùn)行的前臺(tái)應(yīng)用程序?yàn)榘酌麊沃械脑O(shè)定應(yīng)用程序。
為了便于理解,下面以android系統(tǒng)為例,對(duì)android系統(tǒng)中顯示畫面從生成到顯示的過(guò)程進(jìn)行簡(jiǎn)單的說(shuō)明。圖2為本發(fā)明一個(gè)實(shí)施例提供的一種顯示過(guò)程的示意圖。
首先,在應(yīng)用(application)層,每個(gè)應(yīng)用程序(以下簡(jiǎn)稱應(yīng)用或app)按照自己的應(yīng)用設(shè)計(jì)情況(一般由對(duì)應(yīng)的安裝包apk決定)各自單獨(dú)執(zhí)行圖像繪制(render)操作,并在繪制操作處理完成后,各應(yīng)用將所繪制的所有圖像發(fā)送給執(zhí)行圖像合成操作的合成模塊(surfaceflinger)。
然后,在應(yīng)用框架(framework)層,系統(tǒng)有三個(gè)幀緩沖器(framebuffer,fb),三個(gè)fb可以循環(huán)使用。surfaceflinger從三個(gè)fb中找出一個(gè)空閑的fb,并在該空閑的fb上,根據(jù)應(yīng)用配置信息,例如哪個(gè)圖像應(yīng)該置底、哪個(gè)圖像應(yīng)該置頂、哪個(gè)圖像采用透底效果等,通過(guò)合成(compose)操作,將各個(gè)應(yīng)用分別繪制的多個(gè)圖像疊加在一起,得到待顯示的顯示幀(待顯示畫面)。
最后,在內(nèi)核(kernel)層,可以將待顯示的顯示幀通過(guò)移動(dòng)終端顯示處理(mobiledisplayprocess,mdp)模塊控制幀緩沖器傳輸?shù)斤@示硬件(包括顯示控制器和顯示屏,使待顯示畫面最終顯示在顯示屏上。這里對(duì)顯示屏的類型不做限定,例如可以是液晶顯示器(liquidcrystaldisplay,lcd)。一般,移動(dòng)終端的顯示屏以最大刷新率,例如60hz進(jìn)行刷新。
對(duì)于顯示屏的工作模式包括視頻模式(videomode)和命令模式(commandmode)模式。所述視頻模式又稱dsi模式,所述命令模式又稱dcs模式。圖3給出了顯示屏在視頻模式和命令模式下顯示數(shù)據(jù)傳輸?shù)氖疽鈭D。如圖3所示,
所述視頻模式主要是針對(duì)顯示屏中沒(méi)有幀緩存單元(ram)的顯示架構(gòu)下進(jìn)行刷新操作的,移動(dòng)終端的主控制器需要持續(xù)刷新顯示器,由于不使用專用的數(shù)據(jù)信號(hào)傳輸同步信息,控制信號(hào)和rgb圖像數(shù)據(jù)是以報(bào)文的形式通過(guò)移動(dòng)產(chǎn)業(yè)處理接口(mobileindustryprocessorinterface,mipi)總線傳輸?shù)摹R驗(yàn)橹鳈C(jī)需要定期刷新顯示器,顯示器就不需要幀緩存單元,主機(jī)控制幀緩沖器(fb)按照顯示屏的刷新率的頻率向顯示屏(lcd)發(fā)送待顯示的顯示幀數(shù)據(jù)。
所述命令模式主要是針對(duì)顯示屏中配置有幀緩存單元(ram)的顯示架構(gòu)下進(jìn)行刷新操作的,主控制器只在需要更新顯示圖像的時(shí)候?qū)彌_器(fb)中的待顯示數(shù)據(jù)發(fā)送到顯示屏的幀緩存單元(ram)中,其他時(shí)候顯示控制器控制顯示屏從幀緩存單元(ram)中取數(shù)據(jù)并顯示。在命令模式下,mipi總線控制器使用顯示命令報(bào)文來(lái)向顯示器發(fā)送圖像數(shù)據(jù)。顯示器中的幀緩存單元來(lái)存儲(chǔ)所有的圖像數(shù)據(jù)。一旦圖像數(shù)據(jù)被放在顯示器的幀緩存單元中,顯示控制器就控制顯示屏從幀緩沖器中取出數(shù)據(jù),并自動(dòng)把它們顯示在屏幕上,mipi總線控制器不需要定期刷新顯示器。
本發(fā)明提供的刷新率的控制方法是針對(duì)處于命令工作模式的顯示屏。
在移動(dòng)終端圖像繪制、合成和刷新顯示的流程中,存在3種幀率:繪制幀率、合成幀率和刷新率。
其中,繪制幀率為應(yīng)用程序在圖像繪制完成后,觸發(fā)合成模塊合成的幀率,可以理解為應(yīng)用程序單位時(shí)間(例如,1秒鐘)繪制圖像的次數(shù)。
合成幀率為把各個(gè)應(yīng)用程序的繪制圖像合成為一個(gè)待顯示畫面的幀率。
刷新率為移動(dòng)終端的顯示屏顯示畫面刷新的幀率。
本發(fā)明的刷新率的控制方法主要涉及上述待顯示畫面顯示流程中的刷新顯示操作。
該步驟中,所述白名單中預(yù)先存儲(chǔ)了需要降低幀率的設(shè)定應(yīng)用程序以及設(shè)定應(yīng)用程序?qū)?yīng)的設(shè)定刷新率,具體可以存儲(chǔ)設(shè)定應(yīng)用程序的應(yīng)用標(biāo)識(shí)和相應(yīng)設(shè)定刷新率的對(duì)應(yīng)關(guān)系。一般的,移動(dòng)終端的顯示屏以60hz的刷新率進(jìn)行刷新,而有些應(yīng)用程序不需要這么高的刷新率就可以達(dá)到自然流暢的顯示畫面的需求。例如,視頻類型應(yīng)用或者閱讀器類型應(yīng)用或者微信、qq社交類型應(yīng)用等。那么可將這些應(yīng)用以及對(duì)應(yīng)的設(shè)定刷新率預(yù)先存儲(chǔ)到白名單中,當(dāng)檢測(cè)到移動(dòng)終端運(yùn)行了白名單中的應(yīng)用程序時(shí),可根據(jù)設(shè)定刷新率設(shè)置移動(dòng)終端顯示屏的目標(biāo)刷新率。其中,應(yīng)用程序?qū)?yīng)的設(shè)定刷新率可以為根據(jù)實(shí)驗(yàn)數(shù)據(jù)確定的該應(yīng)用程序在運(yùn)行過(guò)程中滿足顯示畫面自然流暢所對(duì)應(yīng)的顯示屏的最小刷新率。
該步驟可以包括:檢測(cè)當(dāng)前運(yùn)行的前臺(tái)應(yīng)用程序并獲取所述前臺(tái)應(yīng)用程序的應(yīng)用標(biāo)識(shí),若在白名單中查找到所述應(yīng)用標(biāo)識(shí),則確定所述前臺(tái)應(yīng)用程序?yàn)榘酌麊沃械脑O(shè)定應(yīng)用程序。
步驟102、獲取所述前臺(tái)應(yīng)用程序在所述白名單中對(duì)應(yīng)的設(shè)定刷新率,根據(jù)所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定移動(dòng)終端的顯示屏的目標(biāo)刷新率,其中,所述顯示屏的工作模式為命令模式。
所述獲取所述前臺(tái)應(yīng)用程序在所述白名單中對(duì)應(yīng)的設(shè)定刷新率可以包括:根據(jù)所述前臺(tái)應(yīng)用程序的應(yīng)用標(biāo)識(shí),從白名單中獲取與所述應(yīng)用標(biāo)識(shí)對(duì)應(yīng)的設(shè)定刷新率。
其中,所述前臺(tái)應(yīng)用程序的數(shù)量可能為一個(gè)或者多個(gè)。若所述前臺(tái)應(yīng)用程序的數(shù)量為一個(gè),則所述根據(jù)所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定移動(dòng)終端的顯示屏的目標(biāo)刷新率包括:將所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定為所述顯示屏的目標(biāo)刷新率。若所述前臺(tái)應(yīng)用程序的數(shù)量為多個(gè),則所述根據(jù)所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定移動(dòng)終端的顯示屏的目標(biāo)刷新率包括:根據(jù)各個(gè)前臺(tái)應(yīng)用程序各自對(duì)應(yīng)的應(yīng)用屬性以及設(shè)定刷新率,確定所述顯示屏的目標(biāo)刷新率,所述應(yīng)用屬性包括應(yīng)用優(yōu)先級(jí)或者應(yīng)用類型。
其中,所述根據(jù)各個(gè)前臺(tái)應(yīng)用程序各自對(duì)應(yīng)的應(yīng)用屬性以及設(shè)定刷新率,確定所述顯示屏的目標(biāo)刷新率可以包括:將應(yīng)用優(yōu)先級(jí)最高或者應(yīng)用類型為設(shè)定類型的前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率,確定為所述顯示屏的目標(biāo)刷新率。
示例性的,若所述前臺(tái)應(yīng)用程序的數(shù)量為兩個(gè),且應(yīng)用1的應(yīng)用優(yōu)先級(jí)比應(yīng)用2的應(yīng)用優(yōu)先級(jí)高,那么可確定顯示屏的目標(biāo)刷新率為應(yīng)用1對(duì)應(yīng)的設(shè)定刷新率。示例性的,若所述前臺(tái)應(yīng)用程序的數(shù)量為兩個(gè),應(yīng)用3的應(yīng)用類型為視頻,應(yīng)用4的應(yīng)用類型為閱讀器,且視頻類型為設(shè)定類型,那么可確定顯示屏的目標(biāo)刷新率為應(yīng)用3對(duì)應(yīng)的設(shè)定刷新率。
該步驟具體可以包括:獲取所述前臺(tái)應(yīng)用程在所述白名單中對(duì)應(yīng)的設(shè)定刷新率以及移動(dòng)終端當(dāng)前的性能參數(shù),所述性能參數(shù)包括移動(dòng)終端的電量、占用內(nèi)存、溫度、中央處理器的頻率、中央處理器的負(fù)載、圖像處理器的頻率和圖像處理器的負(fù)載中的至少一項(xiàng);根據(jù)所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率以及移動(dòng)終端當(dāng)前的性能參數(shù)確定所述顯示屏的目標(biāo)刷新率。
示例性的,若所述性能參數(shù)為移動(dòng)終端的電量,所述根據(jù)所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率以及移動(dòng)終端當(dāng)前的性能參數(shù)確定所述顯示屏的目標(biāo)刷新率可以包括:若當(dāng)前電量占設(shè)定最大電量的比值大于或者等于第一設(shè)定比值,則基于所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定所述顯示屏的目標(biāo)刷新率,所述第一設(shè)定比值小于1;若當(dāng)前電量占設(shè)定最大電量的比值小于第一設(shè)定比值,則基于所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率的第一設(shè)定百分比值確定所述顯示屏的目標(biāo)刷新率,所述第一設(shè)定百分比值小于1。其中,所述第一設(shè)定比值可以為50%,所述第一設(shè)定百分比值可以為80%。
所述基于所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定所述顯示屏的目標(biāo)刷新可以包括:若前臺(tái)應(yīng)用程序的數(shù)量為一個(gè),則將該前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定為顯示屏的目標(biāo)刷新率;若前臺(tái)應(yīng)用程序的數(shù)量為多個(gè),則根據(jù)各個(gè)前臺(tái)應(yīng)用程序各自對(duì)應(yīng)的應(yīng)用屬性以及設(shè)定刷新率確定顯示屏的中間刷新率,將所述中間刷新率確定為顯示屏的目標(biāo)刷新率。
所述基于所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率的第一設(shè)定百分比值確定所述顯示屏的目標(biāo)刷新率可以包括:若前臺(tái)應(yīng)用程序的數(shù)量為一個(gè),則將該前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率的第一設(shè)定百分比值確定為顯示屏的目標(biāo)刷新率;若前臺(tái)應(yīng)用程序的數(shù)量為多個(gè),則根據(jù)各個(gè)前臺(tái)應(yīng)用程序各自對(duì)應(yīng)的應(yīng)用屬性以及設(shè)定刷新率確定顯示屏的中間刷新率,將所述中間刷新率的第一設(shè)定百分比值確定為顯示屏的目標(biāo)刷新率。
示例性的,若所述性能參數(shù)為移動(dòng)終端的占用內(nèi)存、溫度、中央處理器的頻率、中央處理器的負(fù)載、圖像處理器的頻率或者圖像處理器的負(fù)載,所述根據(jù)所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率以及移動(dòng)終端當(dāng)前的性能參數(shù)確定所述顯示屏的目標(biāo)刷新率可以包括:若當(dāng)前性能參數(shù)值占對(duì)應(yīng)的設(shè)定最大性能參數(shù)值的比值大于或者等于第二設(shè)定比值,則基于所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率的第二設(shè)定百分比值確定所述顯示屏的目標(biāo)刷新率,所述第二設(shè)定比值小于1,所述第二設(shè)定百分比小于1;若當(dāng)前性能參數(shù)值占對(duì)應(yīng)的設(shè)定最大性能參數(shù)值的比值小于第二設(shè)定比值,則基于所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定所述顯示屏的目標(biāo)刷新率。所述第二設(shè)定比值可以為50%,所述第二設(shè)定百分比值可以為80%。
所述基于所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率的第二設(shè)定百分比值確定所述顯示屏的目標(biāo)刷新率包括:若前臺(tái)應(yīng)用程序的數(shù)量為一個(gè),則將該前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率的第二設(shè)定百分比值確定為所述顯示屏的目標(biāo)刷新率;若前臺(tái)應(yīng)用程序的數(shù)量為多個(gè),則根據(jù)各個(gè)前臺(tái)應(yīng)用程序各自對(duì)應(yīng)的應(yīng)用屬性以及設(shè)定刷新率確定顯示屏的中間刷新率,將所述中間刷新率的第二設(shè)定百分比值確定為顯示屏的目標(biāo)刷新率。
所述基于所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定所述顯示屏的目標(biāo)刷新率可以包括:若前臺(tái)應(yīng)用程序的數(shù)量為一個(gè),則將該前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定為所述顯示屏的目標(biāo)刷新率;若前臺(tái)應(yīng)用程序的數(shù)量為多個(gè),則根據(jù)各個(gè)前臺(tái)應(yīng)用程序各自對(duì)應(yīng)的應(yīng)用屬性以及設(shè)定刷新率確定顯示屏的中間刷新率,將所述中間刷新率確定為顯示屏的目標(biāo)刷新率。
需要說(shuō)明的是,也可以結(jié)合所述性能參數(shù)中的多項(xiàng)性能參數(shù)根據(jù)前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率來(lái)確定顯示屏的目標(biāo)刷新率。
實(shí)施例提供的方法還可以包括以下步驟:若所述前臺(tái)應(yīng)用程序的繪制幀率大于所述目標(biāo)刷新率,則將所述前臺(tái)應(yīng)用程序的繪制幀率設(shè)置為與所述目標(biāo)刷新率相同。這樣設(shè)置的好處是:使得應(yīng)用程序的繪制操作的頻率小于或者等于顯示屏的刷新率,以避免應(yīng)用程序繪制的圖像得不到刷新還占用移動(dòng)終端的資源而產(chǎn)生不必要的功耗。
步驟103、通過(guò)顯示控制器控制顯示屏以與所述目標(biāo)刷新率相同的頻率從顯示屏的幀緩存單元中讀取待顯示的顯示幀數(shù)據(jù)并進(jìn)行顯示。
在確定了顯示屏的目標(biāo)刷新率后,顯示控制器控制顯示屏以目標(biāo)刷新率的頻率從顯示屏的幀緩存單元中讀取待顯示的顯示幀數(shù)據(jù)并顯示,該步驟相比于現(xiàn)有技術(shù)中顯示屏以固定的最大刷新率進(jìn)行刷新操作,可以降低移動(dòng)終端顯示屏的功耗。
該方法還可以包括以下步驟:若檢測(cè)到移動(dòng)終端當(dāng)前運(yùn)行的前臺(tái)應(yīng)用程序不是白名單中的設(shè)定應(yīng)用程序,則將所述顯示屏的目標(biāo)刷新率確定為第二設(shè)定值。所述第二設(shè)定值可以為顯示屏的最大刷新率60hz,對(duì)于不在白名單中的應(yīng)用程序,例如游戲等刷新頻率要求較高的應(yīng)用程序可以以最大刷新率進(jìn)行刷新。
本實(shí)施例提供的移動(dòng)終端刷新率的控制方法,通過(guò)檢測(cè)當(dāng)前運(yùn)行的前臺(tái)應(yīng)用程序,若所述前臺(tái)應(yīng)用程序?yàn)榘酌麊沃械脑O(shè)定應(yīng)用程序則獲取所述前臺(tái)應(yīng)用程序在白名單中對(duì)應(yīng)的設(shè)定刷新率,根據(jù)所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定移動(dòng)終端的顯示屏的目標(biāo)刷新率,其中,所述顯示屏的工作模式為命令模式,通過(guò)顯示控制器控制顯示屏以與所述目標(biāo)刷新率相同的頻率從顯示屏的幀緩存單元中讀取待顯示的顯示幀數(shù)據(jù)并進(jìn)行顯示,可以合理的控制移動(dòng)終端顯示屏的刷新率。
圖4給出了本發(fā)明一個(gè)實(shí)施例提供的一種移動(dòng)終端刷新率的控制方法的流程圖。如圖4所示,本實(shí)施例提供的方法包括以下步驟:
步驟201、檢測(cè)當(dāng)前待顯示畫面與之前的連續(xù)設(shè)定幀數(shù)的顯示畫面是否相同,若是,則執(zhí)行步驟202,若否則執(zhí)行步驟203。
該步驟的作用是判斷移動(dòng)終端的運(yùn)行場(chǎng)景是否連續(xù)處于靜態(tài)畫面場(chǎng)景,若當(dāng)前待顯示畫面與之前的連續(xù)設(shè)定幀數(shù)的顯示畫面相同,則移動(dòng)終端的當(dāng)前運(yùn)行場(chǎng)景為靜態(tài)畫面場(chǎng)景,否則為動(dòng)態(tài)畫面場(chǎng)景。
步驟202、將所述顯示屏的目標(biāo)刷新率確定為第一設(shè)定值,所述第一設(shè)定值小于顯示屏的設(shè)定最大刷新率。所述第一設(shè)定值可以為30hz或者40hz等。
若當(dāng)前待顯示畫面與之前的連續(xù)設(shè)定幀數(shù)的顯示畫面相同,則移動(dòng)終端的當(dāng)前運(yùn)行場(chǎng)景為靜態(tài)畫面場(chǎng)景,則可將顯示屏的目標(biāo)刷新率確定為小于顯示屏的設(shè)定最大刷新率的第一設(shè)定值,相比于現(xiàn)有技術(shù)中無(wú)論在靜態(tài)畫面場(chǎng)景還是動(dòng)態(tài)畫面場(chǎng)景顯示屏都以設(shè)定的最大刷新率進(jìn)行刷新導(dǎo)致的顯示屏的功耗大的問(wèn)題,降低了移動(dòng)終端的功耗。
步驟203、確定當(dāng)前運(yùn)行的前臺(tái)應(yīng)用程序?yàn)榘酌麊沃械脑O(shè)定應(yīng)用程序。
若當(dāng)前待顯示畫面與之前的連續(xù)設(shè)定幀數(shù)的顯示畫面不相同,則確定移動(dòng)終端的運(yùn)行場(chǎng)景為動(dòng)態(tài)畫面場(chǎng)景,則根據(jù)當(dāng)前運(yùn)行的應(yīng)用程序來(lái)確定顯示屏的目標(biāo)刷新率,進(jìn)一步的確定當(dāng)前運(yùn)行的前臺(tái)應(yīng)用程序是否為白名單中的設(shè)定應(yīng)用程序。具體可以在當(dāng)前待顯示畫面與之前的連續(xù)設(shè)定幀數(shù)的顯示畫面都不相同或者與其中一幀的顯示畫面不同時(shí),確定當(dāng)前運(yùn)行的前臺(tái)應(yīng)用程序?yàn)榘酌麊沃械脑O(shè)定應(yīng)用程序。
步驟204、獲取所述前臺(tái)應(yīng)用程序在所述白名單中對(duì)應(yīng)的設(shè)定刷新率,根據(jù)所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定移動(dòng)終端的顯示屏的目標(biāo)刷新率,其中,所述顯示屏的工作模式為命令模式。
步驟205、通過(guò)顯示控制器控制顯示屏以與所述目標(biāo)刷新率相同的頻率從顯示屏的幀緩存單元中讀取待顯示的顯示幀數(shù)據(jù)并進(jìn)行顯示。
根據(jù)當(dāng)前運(yùn)行的前臺(tái)應(yīng)用程序在白名單中的設(shè)定刷新率來(lái)確定顯示屏的目標(biāo)刷新率,以所述目標(biāo)刷新率執(zhí)行刷新顯示操作。
本實(shí)施例中的步驟203至步驟205的具體實(shí)現(xiàn)方式可基于上述實(shí)施例中的步驟101至步驟103中描述的實(shí)現(xiàn)方式,本實(shí)施例對(duì)上述技術(shù)細(xì)節(jié)不再贅述。
本實(shí)施例提供的方法,通過(guò)檢測(cè)移動(dòng)終端當(dāng)前所處的場(chǎng)景類型,若處于靜態(tài)畫面場(chǎng)景則將所述顯示屏的目標(biāo)刷新率確定為第一設(shè)定值,若處于動(dòng)態(tài)畫面場(chǎng)景則確定當(dāng)前運(yùn)行的前臺(tái)應(yīng)用程序?yàn)榘酌麊沃械脑O(shè)定應(yīng)用程序,獲取所述前臺(tái)應(yīng)用程序在所述白名單中對(duì)應(yīng)的設(shè)定刷新率,根據(jù)所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定移動(dòng)終端的顯示屏的目標(biāo)刷新率,通過(guò)顯示控制器控制顯示屏以與所述目標(biāo)刷新率相同的頻率從顯示屏的幀緩存單元中讀取待顯示的顯示幀數(shù)據(jù)并進(jìn)行顯示,可以合理的控制移動(dòng)終端的刷新率。
圖5為本發(fā)明一個(gè)實(shí)施例提供的一種移動(dòng)終端刷新率的控制裝置的結(jié)構(gòu)示意圖,該裝置可由軟件和/或硬件實(shí)現(xiàn),集成在移動(dòng)終端中。如圖5所示,該裝置包括設(shè)定應(yīng)用程序確定模塊31、第一目標(biāo)刷新率確定模塊32和待顯示數(shù)據(jù)顯示模塊33。
所述設(shè)定應(yīng)用程序確定模塊31,用于確定當(dāng)前運(yùn)行的前臺(tái)應(yīng)用程序?yàn)榘酌麊沃械脑O(shè)定應(yīng)用程序;
所述第一目標(biāo)刷新率確定模塊32,用于獲取所述前臺(tái)應(yīng)用程序在所述白名單中對(duì)應(yīng)的設(shè)定刷新率,根據(jù)所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定移動(dòng)終端的顯示屏的目標(biāo)刷新率,其中,所述顯示屏的工作模式為命令模式;
所述待顯示數(shù)據(jù)顯示模塊33,用于通過(guò)顯示控制器控制顯示屏以與所述目標(biāo)刷新率相同的頻率從顯示屏的幀緩存單元中讀取待顯示的顯示幀數(shù)據(jù)并進(jìn)行顯示。
進(jìn)一步的,所述設(shè)定應(yīng)用程序確定模塊用于:
檢測(cè)當(dāng)前待顯示畫面與之前的連續(xù)設(shè)定幀數(shù)的顯示畫面是否相同;
若檢測(cè)到當(dāng)前待顯示畫面與之前的連續(xù)設(shè)定幀數(shù)的顯示畫面不相同,則確定當(dāng)前運(yùn)行的前臺(tái)應(yīng)用程序?yàn)榘酌麊沃械脑O(shè)定應(yīng)用程序。
進(jìn)一步的,所述裝置還包括:
第二目標(biāo)刷新率確定模塊,用于若檢測(cè)到當(dāng)前待顯示畫面與之前的連續(xù)設(shè)定幀數(shù)的顯示畫面相同,則將所述顯示屏的目標(biāo)刷新率確定為第一設(shè)定值,所述第一設(shè)定值小于顯示屏的設(shè)定最大刷新率。
進(jìn)一步的,若所述前臺(tái)應(yīng)用程序的數(shù)量為一個(gè),則所述第一目標(biāo)刷新率確定模塊根據(jù)所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定移動(dòng)終端的顯示屏的目標(biāo)刷新率包括:
將所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定為所述顯示屏的目標(biāo)刷新率。
進(jìn)一步的,若所述前臺(tái)應(yīng)用程序的數(shù)量為多個(gè),則所述第一目標(biāo)刷新率確定模塊根據(jù)所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定移動(dòng)終端的顯示屏的目標(biāo)刷新率包括:
根據(jù)各個(gè)前臺(tái)應(yīng)用程序各自對(duì)應(yīng)的應(yīng)用屬性以及設(shè)定刷新率,確定所述顯示屏的目標(biāo)刷新率,所述應(yīng)用屬性包括應(yīng)用優(yōu)先級(jí)或者應(yīng)用類型。
進(jìn)一步的,所述第一目標(biāo)刷新率確定模塊用于:
獲取所述前臺(tái)應(yīng)用程在所述白名單中對(duì)應(yīng)的設(shè)定刷新率以及移動(dòng)終端當(dāng)前的性能參數(shù),所述性能參數(shù)包括移動(dòng)終端的電量、占用內(nèi)存、溫度、中央處理器的頻率、中央處理器的負(fù)載、圖像處理器的頻率和圖像處理器的負(fù)載中的至少一項(xiàng);
根據(jù)所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率以及移動(dòng)終端當(dāng)前的性能參數(shù)確定所述顯示屏的目標(biāo)刷新率。
進(jìn)一步的,所述裝置還包括:
第三目標(biāo)刷新率確定模塊,用于若檢測(cè)到移動(dòng)終端當(dāng)前運(yùn)行的前臺(tái)應(yīng)用程序不是白名單中的設(shè)定應(yīng)用程序,則將所述顯示屏的目標(biāo)刷新率確定為第二設(shè)定值。
本實(shí)施例提供的裝置,通過(guò)檢測(cè)當(dāng)前運(yùn)行的前臺(tái)應(yīng)用程序,若所述前臺(tái)應(yīng)用程序?yàn)榘酌麊沃械脑O(shè)定應(yīng)用程序則獲取所述前臺(tái)應(yīng)用程序在白名單中對(duì)應(yīng)的設(shè)定刷新率,根據(jù)所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定移動(dòng)終端的顯示屏的目標(biāo)刷新率,其中,所述顯示屏的工作模式為命令模式,通過(guò)顯示控制器控制顯示屏以與所述目標(biāo)刷新率相同的頻率從顯示屏的幀緩存單元中讀取待顯示的顯示幀數(shù)據(jù)并進(jìn)行顯示,可以合理的控制移動(dòng)終端顯示屏的刷新率。
圖6為本發(fā)明一個(gè)實(shí)施例提供的一種移動(dòng)終端的結(jié)構(gòu)示意圖,該移動(dòng)終端可以包括本發(fā)明任意實(shí)施例提供的移動(dòng)終端刷新率的控制裝置,如圖6所示,該移動(dòng)終端可以包括:存儲(chǔ)器401、中央處理器(centralprocessingunit,cpu)402(又稱處理器,以下簡(jiǎn)稱cpu)、所述存儲(chǔ)器401,用于存儲(chǔ)可執(zhí)行程序代碼;所述處理器402通過(guò)讀取所述存儲(chǔ)器401中存儲(chǔ)的可執(zhí)行程序代碼來(lái)運(yùn)行與所述可執(zhí)行程序代碼對(duì)應(yīng)的程序,以用于執(zhí)行:確定當(dāng)前運(yùn)行的前臺(tái)應(yīng)用程序?yàn)榘酌麊沃械脑O(shè)定應(yīng)用程序;獲取所述前臺(tái)應(yīng)用程序在所述白名單中對(duì)應(yīng)的設(shè)定刷新率,根據(jù)所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定移動(dòng)終端的顯示屏的目標(biāo)刷新率,其中,所述顯示屏的工作模式為命令模式;通過(guò)顯示控制器控制顯示屏以與所述目標(biāo)刷新率相同的頻率從顯示屏的幀緩存單元中讀取待顯示的顯示幀數(shù)據(jù)并進(jìn)行顯示。
所述移動(dòng)終端還包括:外設(shè)接口403、rf(radiofrequency,射頻)電路405、音頻電路406、揚(yáng)聲器411、電源管理芯片408、輸入/輸出(i/o)子系統(tǒng)409、觸摸屏(顯示屏)412、其他輸入/控制設(shè)備410以及外部端口404,這些部件通過(guò)一個(gè)或多個(gè)通信總線或信號(hào)線407來(lái)通信。
應(yīng)該理解的是,圖示移動(dòng)終端400僅僅是移動(dòng)終端的一個(gè)范例,并且移動(dòng)終端400可以具有比圖中所示出的更多的或者更少的部件,可以組合兩個(gè)或更多的部件,或者可以具有不同的部件配置。圖中所示出的各種部件可以在包括一個(gè)或多個(gè)信號(hào)處理和/或?qū)S眉呻娐吩趦?nèi)的硬件、軟件、或硬件和軟件的組合中實(shí)現(xiàn)。
下面就本實(shí)施例提供的用于控制刷新率的移動(dòng)終端進(jìn)行詳細(xì)的描述,該移動(dòng)終端以手機(jī)為例。
存儲(chǔ)器401,所述存儲(chǔ)器401可以被cpu402、外設(shè)接口403等訪問(wèn),所述存儲(chǔ)器401可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如一個(gè)或多個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。
外設(shè)接口403,所述外設(shè)接口403可以將設(shè)備的輸入和輸出外設(shè)連接到cpu402和存儲(chǔ)器401。
i/o子系統(tǒng)409,所述i/o子系統(tǒng)409可以將設(shè)備上的輸入輸出外設(shè),例如觸摸屏412和其他輸入/控制設(shè)備410,連接到外設(shè)接口403。i/o子系統(tǒng)409可以包括顯示控制器4091和用于控制其他輸入/控制設(shè)備410的一個(gè)或多個(gè)輸入控制器4092。其中,一個(gè)或多個(gè)輸入控制器4092從其他輸入/控制設(shè)備410接收電信號(hào)或者向其他輸入/控制設(shè)備410發(fā)送電信號(hào),其他輸入/控制設(shè)備410可以包括物理按鈕(按壓按鈕、搖臂按鈕等)、撥號(hào)盤、滑動(dòng)開(kāi)關(guān)、操縱桿、點(diǎn)擊滾輪。值得說(shuō)明的是,輸入控制器4092可以與以下任一個(gè)連接:鍵盤、紅外端口、usb接口以及諸如鼠標(biāo)的指示設(shè)備。
觸摸屏412,所述觸摸屏412是用戶終端與用戶之間的輸入接口和輸出接口,將可視輸出顯示給用戶,可視輸出可以包括圖形、文本、圖標(biāo)、視頻等。
i/o子系統(tǒng)409中的顯示控制器4091從觸摸屏412接收電信號(hào)或者向觸摸屏412發(fā)送電信號(hào)。觸摸屏412檢測(cè)觸摸屏上的接觸,顯示控制器4091將檢測(cè)到的接觸轉(zhuǎn)換為與顯示在觸摸屏412上的用戶界面對(duì)象的交互,即實(shí)現(xiàn)人機(jī)交互,顯示在觸摸屏412上的用戶界面對(duì)象可以是運(yùn)行游戲的圖標(biāo)、聯(lián)網(wǎng)到相應(yīng)網(wǎng)絡(luò)的圖標(biāo)等。值得說(shuō)明的是,設(shè)備還可以包括光鼠,光鼠是不顯示可視輸出的觸摸敏感表面,或者是由觸摸屏形成的觸摸敏感表面的延伸。
rf電路405,主要用于建立手機(jī)與無(wú)線網(wǎng)絡(luò)(即網(wǎng)絡(luò)側(cè))的通信,實(shí)現(xiàn)手機(jī)與無(wú)線網(wǎng)絡(luò)的數(shù)據(jù)接收和發(fā)送。例如收發(fā)短信息、電子郵件等。具體地,rf電路405接收并發(fā)送rf信號(hào),rf信號(hào)也稱為電磁信號(hào),rf電路405將電信號(hào)轉(zhuǎn)換為電磁信號(hào)或?qū)㈦姶判盘?hào)轉(zhuǎn)換為電信號(hào),并且通過(guò)該電磁信號(hào)與通信網(wǎng)絡(luò)以及其他設(shè)備進(jìn)行通信。rf電路405可以包括用于執(zhí)行這些功能的已知電路,其包括但不限于天線系統(tǒng)、rf收發(fā)機(jī)、一個(gè)或多個(gè)放大器、調(diào)諧器、一個(gè)或多個(gè)振蕩器、數(shù)字信號(hào)處理器、codec(coder-decoder,編譯碼器)芯片組、用戶標(biāo)識(shí)模塊(subscriberidentitymodule,sim)等等。
音頻電路406,主要用于從外設(shè)接口403接收音頻數(shù)據(jù),將該音頻數(shù)據(jù)轉(zhuǎn)換為電信號(hào),并且將該電信號(hào)發(fā)送給揚(yáng)聲器411。
揚(yáng)聲器411,用于將手機(jī)通過(guò)rf電路405從無(wú)線網(wǎng)絡(luò)接收的語(yǔ)音信號(hào),還原為聲音并向用戶播放該聲音。
電源管理芯片408,用于為cpu402、i/o子系統(tǒng)及外設(shè)接口403所連接的硬件進(jìn)行供電及電源管理。
上述移動(dòng)終端可執(zhí)行本發(fā)明任意實(shí)施例所提供的方法,具備執(zhí)行方法相應(yīng)的功能模塊,通過(guò)檢測(cè)當(dāng)前運(yùn)行的前臺(tái)應(yīng)用程序,若所述前臺(tái)應(yīng)用程序?yàn)榘酌麊沃械脑O(shè)定應(yīng)用程序則獲取所述前臺(tái)應(yīng)用程序在白名單中對(duì)應(yīng)的設(shè)定刷新率,根據(jù)所述前臺(tái)應(yīng)用程序?qū)?yīng)的設(shè)定刷新率確定移動(dòng)終端的顯示屏的目標(biāo)刷新率,其中,所述顯示屏的工作模式為命令模式,通過(guò)顯示控制器控制顯示屏以與所述目標(biāo)刷新率相同的頻率從顯示屏的幀緩存單元中讀取待顯示的顯示幀數(shù)據(jù)并進(jìn)行顯示,可以合理的控制移動(dòng)終端顯示屏的刷新率。
上述僅為本發(fā)明的較佳實(shí)施例及所運(yùn)用的技術(shù)原理。本發(fā)明不限于這里所述的特定實(shí)施例,對(duì)本領(lǐng)域技術(shù)人員來(lái)說(shuō)能夠進(jìn)行的各種明顯變化、重新調(diào)整及替代均不會(huì)脫離本發(fā)明的保護(hù)范圍。因此,雖然通過(guò)以上實(shí)施例對(duì)本發(fā)明進(jìn)行了較為詳細(xì)的說(shuō)明,但是本發(fā)明不僅僅限于以上實(shí)施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實(shí)施例,而本發(fā)明的范圍由權(quán)利要求的范圍決定。