绘图流水线调节方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:33878302 阅读:16 留言:0更新日期:2022-06-22 17:07
本申请涉及一种绘图流水线调节方法、装置、计算机设备和存储介质。所述方法包括:获取当前帧在目标绘图阶段的绘图耗时;所述目标绘图阶段为所述绘图流水线中的任一绘图阶段;若所述当前帧在所述目标绘图阶段的绘图耗时大于所述目标绘图阶段对应的平均绘图耗时,则基于当前屏幕刷新频率确定对应的调节策略;执行所述调节策略,以缩短所述当前帧在下一绘图阶段的绘图耗时。采用本方法能够缩短当前帧在目标绘图阶段的下一绘图阶段的绘图耗时,弥补在当前绘图阶段所消耗的时间,保证当前帧在完成绘图流水线后的总绘图耗时小于当前屏幕刷新频率对应的单帧绘图耗时,以避免当前帧出现掉帧现象。帧现象。帧现象。

【技术实现步骤摘要】
绘图流水线调节方法、装置、计算机设备和存储介质


[0001]本申请涉及UI绘图
,特别是涉及一种绘图流水线调节方法、装置、计算机设备和存储介质。

技术介绍

[0002]在移动终端的UI界面中,当CPU或GPU由于性能问题或负载问题,绘图速度不足以负荷显示器画面动态显示刷新的频率时,由于下一帧内容没有及时渲染出来,则该帧将会被丢弃,而显示器由于不能及时显示下一帧内容,而保持不变继续显示上一帧内容,从而出现帧率过低所造成的画面出现停滞(或短时间或长时间)的现象,称为掉帧。
[0003]然而,现有技术中针对绘图掉帧的问题,仅是将掉帧的信息用log的方式进行存储,未有针对绘图掉帧的问题提出相应的改进措施。

技术实现思路

[0004]基于此,有必要针对上述UI绘图中的掉帧问题,提供一种绘图流水线调节方法、装置、计算机设备和存储介质。
[0005]一种绘图流水线调节方法,所述方法包括:
[0006]获取当前帧在目标绘图阶段的绘图耗时;所述目标绘图阶段为所述绘图流水线中的任一绘图阶段;
[0007]若所述当前帧在所述目标绘图阶段的绘图耗时大于所述目标绘图阶段对应的平均绘图耗时,则基于当前屏幕刷新频率确定对应的调节策略;
[0008]执行所述调节策略,以缩短所述当前帧在所述目标绘图阶段的下一绘图阶段的绘图耗时。
[0009]在其中一个实施例中,所述方法还包括:
[0010]获取至少两个历史帧在所述目标绘图阶段的起止时间戳;
[0011]根据所述起止时间戳,确定各个所述历史帧在所述目标绘图阶段的绘图耗时;
[0012]获取所述至少两个历史帧的绘图耗时的均值,作为所述目标绘图阶段的平均绘图耗时。
[0013]在其中一个实施例中,所述基于当前屏幕刷新频率确定对应的调节策略,包括:
[0014]根据所述当前屏幕刷新频率确定至少一个数目阈值;
[0015]获取当前连续掉帧数目;所述掉帧表示完成所述绘图流水线的全部绘图阶段的总绘图耗时大于预先确定的单帧绘图耗时的帧,所述单帧绘图耗时基于所述当前屏幕刷新频率确定;
[0016]根据所述当前连续掉帧数目与所述至少一个数目阈值的对比结果,确定对应的调节策略。
[0017]在其中一个实施例中,所述调节策略包括提升处理器运算频率、将线程迁移至处理能力更高的核心和开核中的至少一种;
[0018]所述根据所述当前连续掉帧数目与所述至少一个数目阈值的对比结果,确定对应的调节策略,包括:
[0019]若所述当前连续掉帧数目小于第一数目阈值,则确定对应的调节策略为提升处理器运算频率;
[0020]若所述当前连续掉帧数目大于或等于所述第一数目阈值、且小于第二数目阈值,则确定对应的调节策略为将线程迁移至处理能力更高的核心;
[0021]若所述当前连续掉帧数目大于或等于所述第二数目阈值,则确定对应的调节策略为开核。
[0022]在其中一个实施例中,若所述调节策略为提升处理器运算频率,所述执行所述调节策略,包括:
[0023]确定所述当前连续掉帧数目在预设的多个数目区间中所对应的目标数目区间;
[0024]获取所述目标数目区间对应的提频比例,作为目标提频比例;
[0025]按照所述目标提频比例,提升处理器运算频率。
[0026]在其中一个实施例中,若所述调节策略为将线程迁移至处理能力更高的核心,所述执行所述调节策略,包括:
[0027]获取所述目标绘图阶段的下一绘图阶段对应的目标线程;所述目标线程包括主UI线程和/或绘图线程;
[0028]将所述目标线程迁移至处理能力更高的核心。
[0029]在其中一个实施例中,所述方法还包括:
[0030]当检测到所述当前屏幕刷新频率改变时,动态更新所述第一数目阈值、所述第二数目阈值和所述第三数目阈值。
[0031]一种绘图流水线调节装置,所述装置包括:
[0032]时间获取模块,用于获取当前帧在目标绘图阶段的绘图耗时;所述目标绘图阶段为所述绘图流水线中的任一绘图阶段;
[0033]调节策略确定模块,用于若所述当前帧在所述目标绘图阶段的绘图耗时大于所述目标绘图阶段对应的平均绘图耗时,则基于当前屏幕刷新频率确定对应的调节策略;
[0034]调节策略执行模块,用于执行所述调节策略,以缩短所述当前帧在所述目标绘图阶段的下一绘图阶段的绘图耗时。
[0035]一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0036]获取当前帧在目标绘图阶段的绘图耗时;所述目标绘图阶段为所述绘图流水线中的任一绘图阶段;
[0037]若所述当前帧在所述目标绘图阶段的绘图耗时大于所述目标绘图阶段对应的平均绘图耗时,则基于当前屏幕刷新频率确定对应的调节策略;
[0038]执行所述调节策略,以缩短所述当前帧在所述目标绘图阶段的下一绘图阶段的绘图耗时。
[0039]一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0040]获取当前帧在目标绘图阶段的绘图耗时;所述目标绘图阶段为所述绘图流水线中
的任一绘图阶段;
[0041]若所述当前帧在所述目标绘图阶段的绘图耗时大于所述目标绘图阶段对应的平均绘图耗时,则基于当前屏幕刷新频率确定对应的调节策略;
[0042]执行所述调节策略,以缩短所述当前帧在所述目标绘图阶段的下一绘图阶段的绘图耗时。
[0043]上述绘图流水线调节方法、装置、计算机设备和存储介质,通过获取当前帧在目标绘图阶段的绘图耗时,在目标绘图阶段的实际绘图耗时大于目标绘图阶段所对应的平均绘图耗时时,基于当前屏幕刷新频率确定对应的调节策略,并执行该调节策略。该方法通过实时将绘图流水线中的任一绘图阶段的实际绘图耗时与该阶段对应的平均绘图耗时进行对比,在实际绘图耗时大于平均绘图耗时时,及时执行对应的调节策略,以缩短当前帧在目标绘图阶段的下一绘图阶段的绘图耗时,弥补在当前绘图阶段耗费的时间,从而保证当前帧在整个绘图流水线的总绘图耗时小于当前屏幕刷新频率对应的单帧绘图耗时,以避免当前帧出现掉帧现象。
附图说明
[0044]图1为一个实施例中绘图流水线调节方法的流程示意图;
[0045]图2为一个实施例中Android Hwui绘图流水线的示意图;
[0046]图3为一个实施例中平均绘图耗时确定步骤的流程示意图;
[0047]图4为一个实施例中绘图流水线调节装置的结构框图;
[0048]图5为一个实施例中计算机设备的内部结构图。
具体实施方式
[0049]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0050]在一个实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种绘图流水线调节方法,其特征在于,所述方法包括:获取当前帧在目标绘图阶段的绘图耗时;所述目标绘图阶段为所述绘图流水线中的任一绘图阶段;若所述当前帧在所述目标绘图阶段的绘图耗时大于所述目标绘图阶段对应的平均绘图耗时,则基于当前屏幕刷新频率确定对应的调节策略;执行所述调节策略,以缩短所述当前帧在所述目标绘图阶段的下一绘图阶段的绘图耗时。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取至少两个历史帧在所述目标绘图阶段的起止时间戳;根据所述起止时间戳,确定各个所述历史帧在所述目标绘图阶段的绘图时间;获取所述至少两个历史帧的绘图时间的均值,作为所述目标绘图阶段的平均绘图耗时。3.根据权利要求1所述的方法,其特征在于,所述基于当前屏幕刷新频率确定对应的调节策略,包括:根据所述当前屏幕刷新频率确定至少一个数目阈值;获取当前连续掉帧数目;所述掉帧表示完成所述绘图流水线的全部绘图阶段的总绘图耗时大于预先确定的单帧绘图耗时的帧,所述单帧绘图耗时基于所述当前屏幕刷新频率确定;根据所述当前连续掉帧数目与所述至少一个数目阈值的对比结果,确定对应的调节策略。4.根据权利要求3所述的方法,其特征在于,所述调节策略包括提升处理器运算频率、将线程迁移至处理能力更高的核心和开核中的至少一种;所述根据所述当前连续掉帧数目与所述至少一个数目阈值的对比结果,确定对应的调节策略,包括:若所述当前连续掉帧数目小于第一数目阈值,则确定对应的调节策略为提升处理器运算频率;若所述当前连续掉帧数目大于或等于所述第一数目阈值、且小于第二数目阈值,则确定对应的调节策略为将线程迁移至处理能力更高的核心;若所述当前连续掉帧数目大于或等于所...

【专利技术属性】
技术研发人员:陈毓书林子园林士钧
申请(专利权)人:深圳市万普拉斯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1