刷新率的控制方法及相关装置与流程
- 国知局
- 2024-06-21 13:51:53
本技术涉及终端,尤其涉及刷新率的控制方法及相关装置。
背景技术:
1、电子设备中可以配置有机发光二极管(organic light emitting diode,oled)屏幕,简称oled屏。
2、然而一些场景中,电子设备可能会出现oled屏显示异常,例如出现背光闪烁等问题,降低了用户体验。
技术实现思路
1、本技术实施例提供的刷新率的控制方法及相关装置,若屏幕在某个刷新率下,只烧录有部分较低亮度对应的gamma参数,则面板驱动可以不向用户空间上报该可能导致屏幕显示异常的刷新率,而是将该刷新率进行备份。当电子设备处于息屏等需要低分辨率的场景时,面板驱动可以使用备份中的刷新率设置屏幕的刷新率。这样,一方面,用户空间获取不到该刷新率,则不会切换到该刷新率对应的帧率,使得电子设备不会由于用户空间切换该帧率而导致的屏幕显示异常;另一方面,电子设备在判断处于亮度较低的场景时,例如aod场景,电子设备可以使用备份中的刷新率,从而使得屏幕既可以正常显示,又可以节省电量。
2、第一方面,本技术实施例提供的刷新率的控制方法,方法包括:
3、电子设备进入息屏场景,电子设备的第一模块向电子设备的第二模块传递第一消息,第一消息用于指示第二模块设置电子设备的屏幕的刷新率为第一刷新率;第二模块设置屏幕的刷新率为第二刷新率,以及设置屏幕的亮度为第一亮度,其中,第二刷新率小于第一刷新率,第一模块未记录有第二刷新率,第二模块记录有第二刷新率,第一亮度为屏幕在第二刷新率时所支持的亮度。这样,对于屏幕在第二刷新率因缺少部分较高亮度参数的情况,第二模块可以不向第一模块上报第二刷新率,而是将该第二刷新率等信息进行备份,当电子设备处于息屏等需要低分辨率的场景时,第二模块可以使用备份中的第二刷新率设置屏幕的刷新率,省电量;第一模块获取不到该第二刷新率,则不会切换到该第二刷新率对应的帧率,使得电子设备的屏幕可以正常显示。
4、一种可能的实现中,电子设备进入亮屏场景,第一模块向第二模块传递第二消息,第二消息用于指示第二模块设置屏幕的刷新率为第三刷新率;第二模块设置屏幕的刷新率为第三刷新率,以及设置屏幕的亮度为第二亮度,其中,第二亮度为屏幕在第三刷新率时所支持的亮度。在电子设备处于亮屏场景时,由于屏幕烧录有第三刷新率下各个亮度的gamma参数,不论当前是什么环境光亮度,都可以有刷新率对应的亮度,这样,可以使得电子设备的屏幕所显示的刷新率为第一模块所设置的刷新率,且不会出现屏幕显示异常的问题。
5、一种可能的实现中,在电子设备启动的过程中,第二模块向第一模块上报屏幕所支持的刷新率;其中,第二模块向第一模块上报屏幕所支持的刷新率中,不包括第二刷新率,第二模块在目标缓存中保存有第二刷新率。这样,当电子设备处于亮度较低的场景时,例如息屏场景,电子设备可以使用备份中的刷新率,从而使得屏幕可以正常显示,还可以节省电量。
6、一种可能的实现中,第二模块设置屏幕的刷新率为第二刷新率,包括:第二模块基于目标缓存中保存的第二刷新率,设置屏幕的刷新率为第二刷新率。这样,电子设备不会由于第一模块设置该第二刷新率所不支持的亮度而导致屏幕显示异常,使得屏幕能够正常显示,提升屏幕显示的稳定性。
7、一种可能的实现中,电子设备还包括第三模块,第三模块用于检测电子设备所处的场景,第二模块设置屏幕的刷新率为第二刷新率,之前,还包括:当第三模块检测电子设备进入息屏场景时,设置电子设备所处的场景对应的标识为第一标识,第一标识用于表示电子设备处于息屏场景;基于第二模块获取第一标识,并基于第一标识从目标缓存中获取第二刷新率。当电子设备处于息屏等需要低分辨率的场景时,第二模块可以基于缓存中备份的第二刷新率设置屏幕的刷新率。这样,电子设备可以在低分辨率场景中,例如息屏场景,使用缓存中备份的第二刷新率,使得屏幕既能够正常显示,又可以节省电量。
8、一种可能的实现中,电子设备中保存有环境光亮度与第二刷新率对应的亮度之间的对应关系,在对应关系中,环境光亮度越大,第二刷新率对应的亮度越大,第二模块设置屏幕的刷新率为第二刷新率,以及设置屏幕的亮度为第一亮度之前,还包括:基于第二模块获取第一环境光亮度;第二模块设置屏幕的刷新率为第二刷新率,以及设置屏幕的亮度为第一亮度,包括:第二模块设置屏幕的刷新率为第二刷新率,以及设置屏幕的亮度为第一亮度,其中,第一亮度为在对应关系中基于第一环境光亮度得到的。这样,第二模块可以根据电子设备当前的环境光亮度设置更为合适的屏幕亮度,提升用户体验。
9、一种可能的实现中,电子设备还包括第四模块和第五模块,第四模块用于进行窗口的合成和显示,还用于为surfaceflinger服务提供硬件支持,第五模块用于和第二模块进行数据交互,电子设备进入息屏场景,第一模块向第二模块传递第一消息,包括:当电子设备进入息屏场景时,基于第一模块调用第一函数,向surfaceflinger服务传递第一消息;基于surfaceflinger服务调用第二函数,向第四模块传递第一消息,并指示第四模块执行帧率切换流程;基于第四模块调用第三函数,设置第一消息中第一刷新率对应的索引值,并调用第四函数,向第五模块传递第一刷新率对应的索引值,指示第五模块执行送显流程;基于第五模块调用第五函数,获取第一刷新率对应的索引值,并基于第一刷新率对应的索引值确定第一刷新率;在电子设备进入息屏场景的情况下,第五模块调用第六函数,向第二模块传递第二刷新率。这样,第二模块可以使用备份中的第二刷新率,从而实现在息屏场景下,第一模块在不切换第二刷新率的情况下,第二模块可以切换屏幕的刷新率到第二刷新率,且使得屏幕既可以正常显示,又可以节省电量。
10、一种可能的实现中,电子设备还包括第六模块,第六模块用于提供与显示相关的库函数,第一模块向第二模块传递第一消息之前,还包括:基于第四模块调用第七函数,指示第六模块获取硬件组合抽象层drm连接器;基于第六模块调用第八函数,指示第五模块获取drm连接器;基于第五模块获取drm连接器,并调用第九函数,指示第二模块获取屏幕所支持的刷新率;基于第二模块调用第十函数,从屏幕中获取屏幕所支持的刷新率;基于第五模块、第六模块和第四模块,向第一模块返回屏幕所支持的刷新率,其中,第一模块获取的屏幕所支持的刷新率中,不包括第二刷新率。各个模块间可以通过函数的调用实现模块间的数据交互,这样,第一模块可以获取到屏幕所烧录的刷新率,即面板驱动所支持的刷新率模式,从而依据第二模块所上报的刷新率进行帧率的设置,使得屏幕可以显示所支持的刷新率,减少屏幕出现异常的情况。
11、一种可能的实现中,第一模块包括帧率管控模块agp,第二模块包括面板驱动,第四模块包括硬件组合抽象层hwc,第五模块包括显示驱动,和/或,第六模块包括libdrm库。这样,虽然第一模块获取不到第二刷新率,但是在切换刷新率时,第二模块却可以在特定场景中,例如息屏场景,将刷新率切换至第二刷新率。从而既可以减少亮屏场景下第一模块误切换至第二刷新率导致屏幕显示异常的情况,也使得在息屏场景中可以切换到第二刷新率,屏幕能够正常显示,减少电子设备的功耗。
12、一种可能的实现中,第一函数包括setrefreshrate()函数,第二函数包括setactivemode()函数,第三函数包括addproperty()函数,第四函数包括crtc_commit()函数,第五函数包括mode_switch()函数,第六函数包括mode_switch_fps_change()函数,第七函数包括drmmodegetconnector()函数,第八函数包括drmioctl()函数,第九函数包括drm_panel_get_modes()函数,和/或,第十函数包括lcm_get_modes()函数。各个模块可以通过定义不同的函数从而实现相应不同的功能,这样,各个模块间可以通过函数的调用实现模块间的数据交互,各个模块还可以通过函数进行参数的传递和/或参数的获取,从代码逻辑上方便了本技术实施例的方式的实现。
13、第二方面,本技术实施例提供一种刷新率的控制装置,该装置可以是电子设备,也可以是电子设备内的芯片或者芯片系统。该装置可以包括处理单元。处理单元用于实现第一方面或第一方面的任意一种可能的实现方式执行的与处理相关的任意方法。当该装置是电子设备时,该处理单元可以是处理器。该装置还可以包括存储单元,该存储单元可以是存储器。该存储单元用于存储指令,该处理单元执行该存储单元所存储的指令,以使该电子设备实现第一方面或第一方面的任意一种可能的实现方式中描述的方法。当该装置是电子设备内的芯片或者芯片系统时,该处理单元可以是处理器。该处理单元执行存储单元所存储的指令,以使该电子设备实现第一方面或第一方面的任意一种可能的实现方式中描述的方法。该存储单元可以是该芯片内的存储单元(例如,寄存器、缓存等),也可以是该电子设备内的位于该芯片外部的存储单元(例如,只读存储器、随机存取存储器等)。
14、示例性的,处理单元,用于向电子设备的第二模块传递第一消息;还用于设置屏幕的刷新率为第二刷新率,以及设置屏幕的亮度为第一亮度。
15、一种可能的实现方式中,处理单元,用于向第二模块传递第二消息;还用于设置屏幕的刷新率为第三刷新率,以及设置屏幕的亮度为第二亮度。
16、一种可能的实现方式中,处理单元,用于向第一模块上报屏幕所支持的刷新率。
17、一种可能的实现方式中,处理单元,用于基于目标缓存中保存的第二刷新率,设置屏幕的刷新率为第二刷新率。
18、一种可能的实现方式中,处理单元,用于测电子设备进入息屏场景;还用于设置电子设备所处的场景对应的标识为第一标识;具体还用于基于第一标识从目标缓存中获取第二刷新率。
19、一种可能的实现方式中,处理单元,用于获取第一环境光亮度;还用于设置屏幕的刷新率为第二刷新率,以及设置屏幕的亮度为第一亮度,其中,第一亮度为基于第一环境光亮度得到的。
20、一种可能的实现方式中,处理单元,用于调用第一函数,向surfaceflinger服务传递第一消息;还用于调用第二函数,向第四模块传递第一消息,并指示第四模块执行帧率切换流程;还用于调用第三函数,设置第一消息中第一刷新率对应的索引值;还用于调用第四函数,向第五模块传递第一刷新率对应的索引值,指示第五模块执行送显流程;还用于调用第五函数,获取第一刷新率对应的索引值,并基于第一刷新率对应的索引值确定第一刷新率;具体还用于调用第六函数,向第二模块传递第二刷新率。
21、一种可能的实现方式中,处理单元,用于调用第七函数,指示第六模块获取硬件组合抽象层drm连接器;还用于调用第八函数,指示第五模块获取drm连接器;还用于获取drm连接器,并调用第九函数,指示第二模块获取屏幕所支持的刷新率;还用于调用第十函数,从屏幕中获取屏幕所支持的刷新率;具体还用于基于第五模块、第六模块和第四模块,向第一模块返回屏幕所支持的刷新率。
22、一种可能的实现方式中,第一模块包括帧率管控模块agp,第二模块包括面板驱动,第四模块包括硬件组合抽象层hwc,第五模块包括显示驱动,和/或,第六模块包括libdrm库。
23、一种可能的实现方式中,第一函数包括setrefreshrate()函数,第二函数包括setactivemode()函数,第三函数包括addproperty()函数,第四函数包括crtc_commit()函数,第五函数包括mode_switch()函数,第六函数包括mode_switch_fps_change()函数,第七函数包括drmmodegetconnector()函数,第八函数包括drmioctl()函数,第九函数包括drm_panel_get_modes()函数,和/或,第十函数包括lcm_get_modes()函数。
24、第三方面,本技术实施例提供一种电子设备,包括一个或多个处理器和存储器,存储器与一个或多个处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,一个或多个处理器调用计算机指令以使得电子设备执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。
25、第四方面,本技术提供一种芯片或者芯片系统,该芯片或者芯片系统应用于电子设备,该芯片或者芯片系统包括一个或多个处理器和通信接口,通信接口和至少一个处理器通过线路互联,一个或多个处理器用于调用计算机指令以使得电子设备执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。其中,芯片中的通信接口可以为输入/输出接口、管脚或电路等。
26、在一种可能的实现中,本技术中上述描述的芯片或者芯片系统还包括至少一个存储器,该至少一个存储器中存储有指令。该存储器可以为芯片内部的存储单元,例如,寄存器、缓存等,也可以是该芯片的存储单元(例如,只读存储器、随机存取存储器等)。
27、第五方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。
28、第六方面,本技术实施例提供一种计算机程序产品,该计算机程序产品包括计算机程序代码,当计算机程序代码在电子设备上运行时,使得电子设备执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。
29、应当理解的是,本技术的第二方面至第六方面与本技术的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
本文地址:https://www.jishuxx.com/zhuanli/20240618/34893.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
上一篇
一种安装组件的制作方法
下一篇
返回列表