本技術(shù)涉及電子設(shè)備,特別涉及一種亮屏處理方法、裝置、芯片、電子設(shè)備及介質(zhì)。
背景技術(shù):
1、設(shè)備系統(tǒng)處于休眠狀態(tài)時(shí),設(shè)備屏幕熄屏而可顯示為黑屏。用戶可通過(guò)按壓電源鍵等操作來(lái)喚醒設(shè)備系統(tǒng),設(shè)備屏幕亮屏并顯示亮屏畫(huà)面。
2、目前,在用戶執(zhí)行按壓電源鍵等操作之后,設(shè)備需要較長(zhǎng)的耗時(shí)才能實(shí)現(xiàn)亮屏,用戶體驗(yàn)較差。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)提供了一種亮屏處理方法、裝置、芯片、電子設(shè)備及介質(zhì),能夠縮短設(shè)備亮屏耗時(shí)。
2、第一方面,本技術(shù)實(shí)施例提供一種亮屏處理方法,包括:接收設(shè)備亮屏請(qǐng)求;響應(yīng)于設(shè)備亮屏請(qǐng)求,依次執(zhí)行下發(fā)亮屏指令以及對(duì)齊處理的步驟,對(duì)齊處理用于同步屏幕刷新率和幀速率;在對(duì)齊處理步驟完成之前,將屏幕狀態(tài)參數(shù)的信息切換為第一信息,以觸發(fā)圖像下發(fā)流程,第一信息用于指示電子設(shè)備的顯示屏幕處于開(kāi)啟狀態(tài)。
3、可行地,可以向電子設(shè)備的顯示驅(qū)動(dòng)下發(fā)亮屏指令,顯示驅(qū)動(dòng)可以處理亮屏指令以驅(qū)動(dòng)顯示屏幕上電并開(kāi)始初始化。示例性地,執(zhí)行下發(fā)亮屏指令的步驟可以包括:如圖5~圖7所示的在hwc創(chuàng)建新線程后,由該線程經(jīng)顯示驅(qū)動(dòng),以觸發(fā)顯示屏幕上電并初始化的過(guò)程。
4、示例性地,執(zhí)行對(duì)齊處理的步驟可以包括:如圖5~圖6所示的在hwc創(chuàng)建新線程后,由該線程執(zhí)行對(duì)齊處理的過(guò)程,以通過(guò)對(duì)齊處理避免出現(xiàn)屏幕畫(huà)面撕裂問(wèn)題。
5、可行地,圖像下發(fā)流程可以包括繪制圖像,并將繪制的圖像下發(fā)至顯示屏幕。示例性地,圖像下發(fā)流程可以包括如圖5~圖7所示的應(yīng)用層逐層向顯示屏幕送圖的過(guò)程。
6、在圖像下發(fā)流程之后,可以執(zhí)行背光亮度下發(fā)流程,以向顯示屏幕下發(fā)背光亮度。示例性地,背光亮度下發(fā)流程可以包括如圖5~圖7所示的應(yīng)用層逐層向顯示屏幕下發(fā)背光亮度的過(guò)程。顯示屏幕在收到背光亮度和圖像后,可以據(jù)此進(jìn)行亮屏顯示。
7、本技術(shù)中,接收到設(shè)備亮屏請(qǐng)求后,在完成對(duì)齊處理之前執(zhí)行狀態(tài)切換處理,以提前實(shí)現(xiàn)狀態(tài)切換。由于應(yīng)用層可以在狀態(tài)切換后執(zhí)行送圖、下發(fā)背光亮度的處理,則基于狀態(tài)切換的提前執(zhí)行,上層可以相應(yīng)的提前執(zhí)行送圖、下發(fā)背光亮度的處理,而不必待底層完成屏幕初始化等之后,才進(jìn)行下一步動(dòng)作。如此,底層處理和上層處理可并行執(zhí)行。相較于串行處理的亮屏處理方式,本技術(shù)基于上層和底層的并行化處理,能夠縮短設(shè)備亮屏耗時(shí)。
8、可選地,在對(duì)齊處理步驟完成之前,將屏幕狀態(tài)參數(shù)的信息切換為第一信息,包括:在執(zhí)行下發(fā)亮屏指令的步驟之前,將屏幕狀態(tài)參數(shù)的信息切換為第一信息。
9、相較于在下發(fā)亮屏指令之后實(shí)現(xiàn)對(duì)狀態(tài)切換的提前執(zhí)行,通過(guò)先執(zhí)行狀態(tài)切換,再下發(fā)亮屏指令,即將狀態(tài)切換提前至下發(fā)亮屏指令之前,可以盡可能更大程度的提前完成狀態(tài)切換,以對(duì)應(yīng)更早的提前開(kāi)始上層處理,從而有助于更大程度的縮短設(shè)備亮屏耗時(shí)。
10、可選地,電子設(shè)備包括hwc;亮屏處理方法還包括:hwc創(chuàng)建并啟動(dòng)第一線程(比如圖5或圖7所示的新線程);其中,第一線程用于執(zhí)行下發(fā)亮屏指令、對(duì)齊處理以及將屏幕狀態(tài)參數(shù)的信息切換為第一信息的步驟。
11、可行地,hwc可以在收到亮屏指令后,創(chuàng)建并啟動(dòng)線程,該亮屏指令可根據(jù)設(shè)備亮屏請(qǐng)求得到。示例性地,電子設(shè)備可以包括pms和surfaceflinger,pms可以根據(jù)設(shè)備亮屏請(qǐng)求,經(jīng)surfaceflinger向hwc下發(fā)亮屏指令。
12、通過(guò)在hwc做多線程亮屏處理,可實(shí)現(xiàn)上層和底層并行化,能夠縮短設(shè)備亮屏?xí)r間、優(yōu)化設(shè)備亮屏性能。
13、可選地,電子設(shè)備還包括surfaceflinger;執(zhí)行對(duì)齊處理的步驟包括:第一線程上報(bào)第一信號(hào)至surfaceflinger,以觸發(fā)surfaceflinger根據(jù)第一信號(hào)執(zhí)行信號(hào)校準(zhǔn);第一信號(hào)用于描述顯示屏幕的屏幕刷新率,信號(hào)校準(zhǔn)用于使得屏幕刷新率和幀速率保持同步;第一線程收到surfaceflinger在執(zhí)行信號(hào)校準(zhǔn)后返回的完成消息?;诖耍趯?duì)齊處理步驟完成之前,將屏幕狀態(tài)參數(shù)的信息切換為第一信息,包括:在第一線程收到完成消息之前,將屏幕狀態(tài)參數(shù)的信息切換為第一信息??尚械兀谝痪€程可以接收到顯示驅(qū)動(dòng)上報(bào)的第一信號(hào)。
14、第一線程通過(guò)至少在收到該完成消息之前切換屏幕狀態(tài)參數(shù)的信息,可使得上層能夠相應(yīng)的提前執(zhí)行送圖、下發(fā)背光亮度的處理,如此有助于縮短設(shè)備亮屏耗時(shí)。
15、可選地,電子設(shè)備還包括pms;接收設(shè)備亮屏請(qǐng)求包括:pms接收設(shè)備亮屏請(qǐng)求,向hwc下發(fā)亮屏通知,以觸發(fā)hwc創(chuàng)建第一線程。
16、示例性地,pms可以接收到電子設(shè)備中的輸入設(shè)備節(jié)點(diǎn)發(fā)來(lái)的設(shè)備亮屏請(qǐng)求,響應(yīng)于接收到的設(shè)備亮屏請(qǐng)求向hwc下發(fā)亮屏通知。其他示例中,pms也可接收其他組件發(fā)來(lái)的設(shè)備亮屏請(qǐng)求。
17、可選地,顯示屏幕為觸控屏,電子設(shè)備還包括輸入設(shè)備節(jié)點(diǎn);設(shè)備亮屏方法還包括:輸入設(shè)備節(jié)點(diǎn)接收亮屏請(qǐng)求事件,亮屏請(qǐng)求事件為操作電子設(shè)備的按鍵或者顯示屏幕的事件;輸入設(shè)備節(jié)點(diǎn)響應(yīng)于亮屏請(qǐng)求事件,向pms發(fā)送設(shè)備亮屏請(qǐng)求。
18、示例性地,用戶在設(shè)備黑屏期間觸摸(或稱單擊)或雙擊顯示屏幕后,電子設(shè)備的觸屏驅(qū)動(dòng)可以將相應(yīng)的觸屏事件寫(xiě)入到輸入設(shè)備節(jié)點(diǎn),輸入設(shè)備節(jié)點(diǎn)進(jìn)而可將觸屏事件的通知消息上報(bào)至pms。pms接收到該通知消息可以表示為pms接收到設(shè)備亮屏請(qǐng)求。
19、可以基于設(shè)備節(jié)點(diǎn)、pms,以響應(yīng)用戶通過(guò)操作設(shè)備按鍵、操作設(shè)備屏幕所發(fā)出的亮屏請(qǐng)求,從而滿足用戶在相應(yīng)使用場(chǎng)景下的設(shè)備亮屏需求。
20、可選地,上述的亮屏請(qǐng)求事件為以下事件中的任意一種:在顯示屏幕處于休眠狀態(tài)時(shí),點(diǎn)擊電子設(shè)備的電源按鍵的事件、觸摸顯示屏幕的事件、以及雙擊顯示屏幕的事件。
21、可選地,電子設(shè)備還包括:位于應(yīng)用框架層的第一模塊;接收設(shè)備亮屏請(qǐng)求的步驟包括:第一模塊檢測(cè)到亮屏請(qǐng)求操作(可以表示第一模塊接收到設(shè)備亮屏請(qǐng)求),向hwc下發(fā)亮屏通知;亮屏請(qǐng)求操作為使得電子設(shè)備的傳感器(比如位姿傳感器、相機(jī)傳感器、距離傳感器等)數(shù)據(jù)產(chǎn)生變化的操作。
22、一個(gè)實(shí)施例中,第一模塊可以為pms。比如若用戶在設(shè)備黑屏?xí)r執(zhí)行屏下指紋解鎖的操作、或者做出亮屏請(qǐng)求手勢(shì),則pms可以檢測(cè)到相應(yīng)傳感器數(shù)據(jù)產(chǎn)生的變化。
23、其他實(shí)施例中,第一模塊可以為應(yīng)用框架層中的不同于pms的其他功能模塊。
24、可以基于應(yīng)用框架層,以響應(yīng)用戶不通過(guò)操作設(shè)備按鍵、操作設(shè)備屏幕所發(fā)出的其他類型亮屏請(qǐng)求,從而滿足用戶在相應(yīng)使用場(chǎng)景下的設(shè)備亮屏需求。
25、可選地,上述的亮屏請(qǐng)求操作包括以下操作中的至少一種:顯示屏幕處于休眠狀態(tài)時(shí)執(zhí)行屏下指紋解鎖的操作,顯示屏幕處于休眠狀態(tài)時(shí)執(zhí)行亮屏請(qǐng)求手勢(shì)的操作,顯示屏幕處于休眠狀態(tài)時(shí)抬起顯示屏幕的操作,顯示屏幕處于休眠狀態(tài)時(shí)遠(yuǎn)離顯示屏幕的操作,顯示屏幕處于休眠狀態(tài)時(shí)非遮擋顯示屏幕的操作。
26、可選地,電子設(shè)備安裝有第一應(yīng)用;亮屏處理方法還包括:第一應(yīng)用在屏幕狀態(tài)參數(shù)的信息切換為第一信息時(shí),執(zhí)行繪制圖像并將繪制的圖像下發(fā)至顯示屏幕的步驟。
27、基于對(duì)屏幕狀態(tài)參數(shù)變化的實(shí)時(shí)監(jiān)控,支持圖像繪制的及時(shí)提前執(zhí)行,如此有助于縮短設(shè)備亮屏耗時(shí)。參見(jiàn)圖5,第一應(yīng)用可以包括圖5中的圖像繪制模塊,并通過(guò)圖像繪制模塊繪制亮屏圖像。
28、第二方面,本技術(shù)實(shí)施例提供一種亮屏處理裝置,該裝置包括用于執(zhí)行上述第一方面中的方法的單元。其中,上述第一方面描述的方法可以通過(guò)硬件實(shí)現(xiàn),也可以通過(guò)硬件執(zhí)行相應(yīng)的軟件實(shí)現(xiàn)。硬件或軟件包括一個(gè)或多個(gè)與上述方法的功能相對(duì)應(yīng)的模塊或單元,例如處理模塊或單元等。
29、第三方面,本技術(shù)實(shí)施例提供一種芯片,包括:處理器,其用于執(zhí)行存儲(chǔ)在存儲(chǔ)器上的計(jì)算機(jī)程序指令,其中,當(dāng)計(jì)算機(jī)程序指令被處理器執(zhí)行時(shí),觸發(fā)芯片執(zhí)行如第一方面中任一項(xiàng)的方法。
30、第四方面,本技術(shù)實(shí)施例提供一種電子設(shè)備,電子設(shè)備包括用于存儲(chǔ)計(jì)算機(jī)程序指令的一個(gè)或多個(gè)存儲(chǔ)器、以及一個(gè)或多個(gè)處理器,其中,當(dāng)計(jì)算機(jī)程序指令被一個(gè)或多個(gè)處理器執(zhí)行時(shí),觸發(fā)電子設(shè)備執(zhí)行如第一方面中任一項(xiàng)的方法。
31、第五方面,本技術(shù)實(shí)施例提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)程序,當(dāng)計(jì)算機(jī)程序在計(jì)算機(jī)上運(yùn)行時(shí),使得計(jì)算機(jī)執(zhí)行如第一方面中任一項(xiàng)的方法。
32、第六方面,本技術(shù)實(shí)施例提供一種計(jì)算機(jī)程序產(chǎn)品,計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序,當(dāng)計(jì)算機(jī)程序在計(jì)算機(jī)上運(yùn)行時(shí),使得計(jì)算機(jī)執(zhí)行如第一方面中任一項(xiàng)的方法。
33、前述各個(gè)方面的技術(shù)效果可互相參考,在此不再贅述。