一种丢帧故障原因确定方法技术

技术编号:39514442 阅读:8 留言:0更新日期:2023-11-25 18:51
本申请提供一种丢帧故障原因确定方法

【技术实现步骤摘要】
一种丢帧故障原因确定方法、电子设备和存储介质


[0001]申请涉及终端
,尤其涉及一种丢帧故障原因确定方法

电子设备和存储介质


技术介绍

[0002]随着手机等电子设备技术的不断发展,越来越多的电子设备可以进行动态画面(例如动效

视频等)的显示

动态画面的显示则需要电子设备在短时间内连续完成多帧画面的显示

而出于硬件性能

软件性能或者其他可能的原因,电子设备在连续显示多帧画面时,常常会出现丢帧的情况,产生显示卡顿等现象,降低了用户的使用体验


技术实现思路

[0003]本申请实施例提供一种丢帧故障原因确定方法

电子设备和存储介质,能够方便快捷的确定出丢帧故障原因

[0004]为了达到上述目的,本申请实施例采用如下技术方案:第一方面,本申请实施例提供一种丢帧故障原因确定方法,应用于电子设备,该方法包括:电子设备在播放动效或视频的过程中,获取显示屏显示的每个图像帧的耗时数据和帧绘制完成信息;耗时数据包括第一耗时信息和第二耗时信息,第一耗时信息包括帧绘制过程中各个阶段的耗时信息,第二耗时信息包括未知原因造成的耗时信息;帧绘制完成信息包括帧绘制完成时刻;在电子设备根据所有图像帧的帧绘制完成信息确定存在丢帧故障的情况下,基于引起丢帧故障的目标图像帧的耗时数据,确定目标耗时阶段;电子设备基于目标耗时阶段和系统状态数据,确定丢帧故障原因;其中,系统状态数据用于指示电子设备在播放动效或视频过程中与帧绘制过程相关的数据

[0005]基于本申请提供的技术方案,在电子设备播放动效或者视频的过程(开始播放到结束播放之间)中,电子设备可以采集每和图像帧在帧绘制过程中各个阶段的耗时,以及每个图像帧的绘制完成时刻

在动效或视频播放结束后,电子设备则可以在确定存在丢帧故障的情况下,则可以结合引起丢帧故障的目标图像帧的帧绘制阶段中各个阶段的耗时情况确定出引起丢帧故障的目标耗时阶段

进一步的,结合电子设备的系统状态数据,则可以确定出丢帧故障的原因

由于整个确定丢帧故障原因的过程,均可以在动效或视频播放期间,利用帧绘制过程中容易收集到的数据确定出丢帧故障原因,所以本申请提供的技术方案可以在各类动效或视频的播放场景中方便的确定出丢帧故障和丢帧故障原因,避免了现有技术中丢帧故障原因不易确定,进而不能针对性解决丢帧故障的问题

[0006]在第一方面的一种可能的实现方式中,电子设备在播放动效或视频的过程中,获取显示屏显示的每个图像帧的耗时数据,包括:电子设备在开始播放动效或视频的情况下,在渲染线程中注册第一耗时监听,并在表面控制模块中注册第二耗时监听,以从渲染线程开始获取显示屏显示的图像帧的第一耗时信息,以及从表面控制模块开始获取显示屏显示的图像帧的第二耗时信息;电子设备在结束播放动效或视频的情况下,在渲染线程中移除
第一耗时监听,并在表面控制模块中移除第二耗时监听,以停止从渲染线程开始获取显示屏显示的图像帧的第一耗时信息,以及停止从表面控制模块开始获取显示屏显示的图像帧的第二耗时信息

[0007]基于上述可能的实现方式,电子设备通过在渲染线程和表面控制模块中注册监听,便可以顺利得到动效或视频播放过程中图像帧的耗时数据,为后续丢帧故障原因的确定提供了数据支持

[0008]在第一方面的一种可能的实现方式中,电子设备在播放动效或视频的过程中,获取显示屏显示的每个图像帧的帧绘制完成信息,包括:电子设备在开始播放动效或视频的情况下,开始获取显示屏显示的图像帧的帧绘制完成信息;电子设备在结束播放动效或视频的情况下,停止获取显示屏显示的图像帧的帧绘制完成信息

[0009]基于上述实现方式,电子设备可以顺利的得到动效或视频播放过程中图像帧的帧绘制完成信息,为后续丢帧故障的确定提供了数据支持

[0010]在第一方面的一种可能的实现方式中,该方法还包括:电子设备根据所有图像帧的帧绘制完成时刻,计算每个图像帧与前一个图像帧的帧间隔;在存在任一帧间隔与系统帧间隔的差值的绝对值大于预设阈值的情况下,电子设备确定存在丢帧故障,且将任一帧间隔对应的两个图像帧中帧绘制完成时刻在后的图像帧,确定为引起丢帧故障的目标图像帧

[0011]由于丢帧故障出现时,大概率是由于某个图像帧的帧绘制时长过长导致的,而帧绘制时长过长也会导致该图像帧与其前一图像帧之间的帧间隔过大

所以基于上述实现方式,电子设备可以通过相邻图像帧之间的帧间隔与系统帧间隔的差值,准确的确定出是否出现了丢帧故障

[0012]在第一方面的一种可能的实现方式中,电子设备基于引起丢帧故障的目标图像帧的耗时数据,确定目标耗时阶段,包括:电子设备将目标图像帧的耗时数据中耗时时长大于系统绘制时长的预设百分比的阶段确定为目标耗时阶段

[0013]基于上述实现方式,可以顺利的确定出目标图像帧的帧绘制过程中是哪个阶段耗费的时长超出了正常界限,进而将其确定为目标耗时阶段

[0014]在第一方面的一种可能的实现方式中,系统状态数据包括: UI
线程跨进程通信超时或未超时
、UI
线程消息处理超时或不超时

各线程对应中央处理器
CPU
算力值与标准值的大小关系;电子设备基于目标耗时阶段和系统状态数据,确定丢帧故障原因,包括:若目标耗时阶段为
UI
线程处理输入事件的阶段,且
UI
线程对应的
CPU
算力小于标准值,则电子设备确定丢帧故障原因为
UI
线程对应的
CPU
算力不足导致输入事件处理超时,产生丢帧故障;若目标耗时阶段为
UI
线程进行动画处理的阶段,且在目标耗时阶段进行的时间段内出现了
UI
线程
Binder
通信超时,则电子设备确定丢帧故障原因为
UI
线程
Binder
通信超时导致动画处理超时,产生丢帧故障;若目标耗时阶段为
UI
线程进行布局与测量的阶段,且在目标耗时阶段进行的时间段内出现了
UI
线程消息处理超时,则电子设备确定丢帧故障原因为
UI
线程消息处理超时导致布局超时,产生丢帧故障;若目标耗时阶段为显示合成系统的主线程进行
GPU
合成的阶段,且显示合成系统的主线程对应的
CPU
算力小于标准值,则电子设备确定丢帧故障原因为显示合成系统的主线程对应的
CPU
算力不足导致
GPU
合成超时,产生丢帧故障

[0015]基于上述实现方式,电子设备可以结本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种丢帧故障原因确定方法,其特征在于,应用于具备显示屏的电子设备,所述方法包括:所述电子设备在播放动效或视频的过程中,获取显示屏显示的每个图像帧的耗时数据和帧绘制完成信息;所述耗时数据包括第一耗时信息和第二耗时信息,所述第一耗时信息包括帧绘制过程中各个阶段的耗时信息,所述第二耗时信息包括未知原因造成的耗时信息;所述帧绘制完成信息包括帧绘制完成时刻;在所述电子设备根据所有所述图像帧的帧绘制完成信息确定存在丢帧故障的情况下,基于引起丢帧故障的目标图像帧的耗时数据,确定目标耗时阶段;所述电子设备基于所述目标耗时阶段和系统状态数据,确定丢帧故障原因;其中,所述系统状态数据用于指示所述电子设备在播放动效或表视频过程中与帧绘制过程相关的数据
。2.
根据权利要求1所述的方法,其特征在于,所述电子设备在播放动效或视频的过程中,获取显示屏显示的每个图像帧的耗时数据,包括:所述电子设备在开始播放动效或视频的情况下,在渲染线程中注册第一耗时监听,并在表面控制模块中注册第二耗时监听,以从所述渲染线程开始获取显示屏显示的图像帧的第一耗时信息,以及从所述表面控制模块开始获取显示屏显示的图像帧的第二耗时信息;所述电子设备在结束播放动效或视频的情况下,在渲染线程中移除第一耗时监听,并在表面控制模块中移除第二耗时监听,以停止从所述渲染线程开始获取显示屏显示的图像帧的第一耗时信息,以及停止从所述表面控制模块开始获取显示屏显示的图像帧的第二耗时信息
。3.
根据权利要求1所述的方法,其特征在于,所述电子设备在播放动效或视频的过程中,获取显示屏显示的每个图像帧的帧绘制完成信息,包括:所述电子设备在开始播放动效或视频的情况下,开始获取显示屏显示的图像帧的帧绘制完成信息;所述电子设备在结束播放动效或视频的情况下,停止获取显示屏显示的图像帧的帧绘制完成信息
。4.
根据权利要求1所述的方法,其特征在于,所述方法还包括:所述电子设备根据所有所述图像帧的帧绘制完成时刻,计算每个所述图像帧与前一个图像帧的帧间隔;在存在任一帧间隔与系统帧间隔的差值的绝对值大于预设阈值的情况下,所述电子设备确定存在丢帧故障,且将所述任一帧间隔对应的两个图像帧中帧绘制完成时刻在后的图像帧,确定为引起丢帧故障的目标图像帧
。5.
根据权利要求1所述的方法,其特征在于,所述电子设备基于引起丢帧故障的目标图像帧的耗时数据,确定目标耗时阶段,包括:所述电子设备将所述目标图像帧的耗时数据中耗时时长大于系统绘制时长的预设百分比的阶段确定为目标耗时阶段
。6.
根据权利要求1‑5任一项所述的方法,其特征在于,所述系统状态数据包括: UI
线程跨进程通信超时或未超时
、UI
线程消息处理超时或不超时

各线程对应中央处理器
CPU
算力值与标准值的大小关系;
所述电...

【专利技术属性】
技术研发人员:孙丽娜李鑫朱勇
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

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

1