本技術涉及終端,尤其涉及一種顯示控制方法、設備及存儲介質。
背景技術:
1、隨著終端技術的快速發(fā)展,手機、平板電腦等電子設備的智能化程度越來越高。以手機為例,當顯示屏處于黑屏狀態(tài)時,用戶可以通過抬起操作、對電源鍵的按壓操作或者對顯示屏的觸控操作等,觸發(fā)手機執(zhí)行顯示屏上電流程,打開顯示屏背光,從而顯示屏進入顯示狀態(tài),滿足了用戶對顯示屏的使用需求。
2、然而,在電子設備的顯示屏處于黑屏狀態(tài)的情況下,若采用相關技術的亮屏方案,則在用戶操作后電子設備需要較長時間才會顯示畫面,從而影響了電子設備的使用性能。
技術實現(xiàn)思路
1、本技術提供一種顯示控制方法、設備及存儲介質,用于解決相關技術的亮屏方案存在的耗時較長的問題。
2、為達到上述目的,本技術采用如下技術方案:
3、第一方面,本技術實施例提供一種顯示控制方法。該方法可以應用于電子設備,電子設備可以包括顯示屏和處理器,處理器可以包括電源管理服務pms、顯示驅動和硬件合成器hwc。該方法可以包括:
4、顯示屏處于滅屏狀態(tài)時,接收用戶操作;響應于用戶操作,pms向顯示驅動下發(fā)第一事件;響應于第一事件為亮屏事件,顯示驅動對顯示屏初始化;pms向顯示驅動下發(fā)亮屏指令;響應于亮屏指令,顯示驅動向hwc返回初始化完成消息;響應于初始化完成消息,hwc將屏幕狀態(tài)設置為開啟;響應于屏幕狀態(tài)為開啟,pms向顯示驅動下發(fā)刷圖指令和背光參數。
5、在上述方案中,當接收到用戶的用戶操作時,pms可以并行執(zhí)行兩個流程:一個流程是,pms立即向顯示驅動下發(fā)第一事件,如果顯示驅動確定第一事件為觸發(fā)亮屏的事件,則開始對顯示驅動和顯示屏初始化,使得初始化的起始時間提前;另一個流程是,pms按照安卓原生流程下發(fā)亮屏指令,當亮屏指令到達顯示驅動時,無需等待初始化完成,顯示驅動立即向hwc返回初始化完成消息,hwc將屏幕狀態(tài)設置為開啟,并觸發(fā)pms提前送圖。這樣可以將刷圖的起始時間節(jié)點提前50ms左右,最終使得亮屏流程整體耗時縮短50ms左右,亮屏顯示變得更加快速,提升了電子設備的性能,提高了用戶的使用體驗。
6、在一種可能的實現(xiàn)方式中,上述用戶操作為亮屏操作。例如,亮屏操作可以包括按壓電子設備上的電源鍵操作、抬手操作、單擊顯示屏操作、雙擊顯示屏操作、遠離設置在顯示屏內側的傳感器操作或取消遮擋設置在顯示屏內側的傳感器操作等。本技術提供的顯示控制方法可以應用于響應于上述各種亮屏操作的亮屏場景,比如常規(guī)休眠喚醒、帶有熄屏顯示功能的休眠喚醒、帶有指紋功能的休眠喚醒、帶有指紋功能的休眠喚醒、多屏協(xié)同場景的休眠喚醒、投屏場景的休眠喚醒、車機交互場景以及其他亮屏場景。在任意一種亮屏場景下,用戶可以通過上述亮屏操作,觸發(fā)電子設備執(zhí)行本技術提供的顯示控制方法。
7、在一種可能的實現(xiàn)方式中,上述處理器還可以包括輸入驅動。響應于用戶操作,pms向顯示驅動下發(fā)第一事件,可以包括:響應于用戶操作,輸入驅動向pms上報與用戶操作對應的第一事件;在接收到第一事件之后,pms立即向顯示驅動下發(fā)第一事件。
8、示例性地,上述處理器還可以包括觸屏驅動。pms立即向顯示驅動下發(fā)第一事件,具體可以包括:pms立即向觸屏驅動下發(fā)第一事件;觸屏驅動向顯示驅動傳遞第一事件。
9、在上述方案中,輸入驅動通過向pms上報第一事件,可以觸發(fā)pms執(zhí)行并行的初始化流程。另外,在基于安卓原生流程的初始化流程中,在接收到該用戶操作對應的事件后,pms先等待預設時長,再判斷該事件的具體類型,只有確定該事件為亮屏事件,才下發(fā)亮屏指令,這導致初始化的起始時間較晚;而在本技術提供的自定義的初始化流程中,在接收到該用戶操作對應的事件后,pms無需等待預設時長,也無需判斷該事件的具體類型,而是立即向tp驅動或顯示驅動下發(fā)該事件,以提前觸發(fā)初始化。
10、在一種可能的實現(xiàn)方式中,該方法還可以包括:在接收到第一事件之后,pms開始計時;響應于計時時長達到預設時長,以及第一事件為亮屏事件,pms下發(fā)亮屏指令。
11、在上述方案中,在pms接收到用戶輸入的用戶操作之后,pms仍會執(zhí)行安卓原生流程,下發(fā)亮屏指令,從而便于觸發(fā)hwc執(zhí)行將屏幕狀態(tài)設置為開啟的流程,進而便于觸發(fā)pms開始送圖的流程。
12、在一種可能的實現(xiàn)方式中,處理器還可以包括表面繪圖服務模塊surfaceflinger,亮屏指令經過surfaceflinger、hwc傳遞到顯示驅動。
13、在上述方案中,安卓軟件架構每一層都包括與用戶操作對應的功能模塊,層與層之間通過軟件接口通信。在亮屏過程中,在pms下發(fā)亮屏指令后,該指令可以依次通過surfaceflinger、hwc傳遞到顯示驅動。
14、在一種可能的實現(xiàn)方式中,響應于亮屏指令,顯示驅動向hwc返回初始化完成消息,可以包括:響應于亮屏指令,以及顯示驅動和顯示屏已開始初始化,顯示驅動立即向hwc返回初始化完成消息。其中,顯示驅動向hwc返回初始化完成消息的時刻,早于顯示驅動和顯示屏完成初始化的時刻。
15、可以理解,在基于安卓原生流程的初始化流程中,當顯示驅動接收到亮屏指令之后,顯示驅動需要等待完成初始化,才向hwc返回初始化完成消息,使得送圖的起始時間較晚。而在本技術提供的自定義的初始化流程中,當顯示驅動接收到亮屏指令之后,由于顯示驅動和顯示屏已開始初始化,因此無需等待初始化完成,顯示驅動立即向hwc返回初始化完成消息,hwc將全局變量“display?state”修改為“on”,并觸發(fā)pms提前送圖。
16、在一種可能的實現(xiàn)方式中,響應于初始化完成消息,hwc將屏幕狀態(tài)設置為開啟,可以包括:響應于初始化完成消息,hwc將第一全局變量設置為第一標識,第一標識代表屏幕狀態(tài)為開啟。
17、示例性地,第一全局變量為“display?state”。在滅屏狀態(tài)下,全局變量“displaystate”默認為“off”,“display?state?off”代表與顯示屏為關閉或下電狀態(tài)。在顯示屏在初始化階段完成上電后,hwc需要將全局變量“display?state”修改為“on”?!癲isplaystate?on”代表顯示屏即將上電或已經處于上電狀態(tài)。
18、可以理解,全局變量“display?state”為一個通用接口,pms等模塊可以通過全局變量“display?state”的取值為“off”還是“on”,來判斷是否顯示屏是否已上電。當pms讀取到全局變量“display?state”已設置為“on”時,可以默認已完成初始化,顯示屏處于上電狀態(tài)。
19、在一種可能的實現(xiàn)方式中,顯示驅動和顯示屏初始化的起始時刻,早于顯示驅動獲取到亮屏指令的時刻。
20、可以理解,由于顯示驅動和顯示屏初始化的起始時刻,早于顯示驅動獲取到亮屏指令的時刻,因此當顯示驅動接收到亮屏指令時,顯示驅動可以立即向hwc返回初始化完成消息,從而便于hwc將全局變量“display?state”已設置為“on”,進而提前開始送圖。
21、在一種可能的實現(xiàn)方式中,pms通過觸屏驅動向顯示驅動傳遞第一事件的時刻,早于pms下發(fā)亮屏指令的時刻。
22、可以理解,在基于安卓原生流程的初始化流程中,在接收到該用戶操作對應的事件后,pms先等待預設時長,再判斷該事件的具體類型,只有確定該事件為亮屏事件,才下發(fā)亮屏指令,這導致顯示屏初始化的起始時間較晚。在本技術提供的自定義的初始化流程中,在接收到該用戶操作對應的事件后,pms無需等待預設時長,也無需判斷該事件的具體類型,而是立即向tp驅動下發(fā)該事件。
23、在一種可能的實現(xiàn)方式中,響應于屏幕狀態(tài)為開啟,pms向顯示驅動下發(fā)刷圖指令和背光參數,可以包括:響應于屏幕狀態(tài)為開啟,pms向surfaceflinger下發(fā)刷圖指令;surfaceflinger基于刷圖指令渲染并繪制圖案;hwc對繪制的圖案進行合成,并將合成后的圖案傳遞至顯示驅動;在顯示驅動控制顯示屏顯示圖案之后,pms通過surfaceflinger、hwc向顯示驅動下發(fā)背光參數,顯示驅動基于背光參數控制顯示屏亮屏。
24、可以理解,在顯示驅動和顯示屏完成初始化后,顯示屏已處于上電狀態(tài),電子設備可以向顯示屏送圖。在顯示屏開始刷圖時,盡管顯示屏已上電,但由于此刻未完成背光設置,因此在用戶視覺上,顯示屏仍處于黑屏狀態(tài),無法看到圖案,因此電子設備還可以基于參數控制顯示屏亮屏,從而用戶可以看到圖案。
25、第二方面,本技術提供一種裝置,該裝置包括用于執(zhí)行上述第一方面中的方法的單元。該裝置可對應于執(zhí)行上述第一方面中描述的顯示控制方法,該裝置中的單元的相關描述請參照上述第一方面的描述,為了簡潔,在此不再贅述。
26、第三方面,本技術提供一種電子設備,該電子設備包括存儲器和一個或多個處理器。其中,存儲器用于存儲計算機程序代碼,計算機程序代碼包括計算機指令。當計算機指令被處理器調用時,使得電子設備執(zhí)行第一方面中任一項提供的顯示控制方法。
27、第四方面,本技術提供一種計算機可讀存儲介質。該計算機可讀存儲介質包括計算機指令。當計算機指令在電子設備上運行時,使得該電子設備執(zhí)行如第一方面及其任一種可能的實現(xiàn)方式提供的顯示控制方法。
28、第五方面,本技術提供一種計算機程序產品。當計算機程序產品在計算機上運行時,使得計算機執(zhí)行如第一方面及其任一種可能的實現(xiàn)方式提供的顯示控制方法。
29、第六方面,本技術提供一種芯片。該芯片與存儲器耦合,芯片用于讀取并執(zhí)行存儲器中存儲的計算機程序,以實現(xiàn)如第一方面及其任一種可能的實現(xiàn)方式提供的顯示控制方法。
30、可以理解,上述提供的第二方面的裝置,第三方面的電子設備,第四方面的計算機可讀存儲介質,第五方面的計算機程序產品及第六方面的芯片所能達到的有益效果,可參考如第一方面及其任一種可能的實現(xiàn)方式中的有益效果,此處不再贅述。