数据处理的方法技术

技术编号:39519024 阅读:9 留言:0更新日期:2023-11-25 18:57
本申请公开了一种数据处理的方法

【技术实现步骤摘要】
数据处理的方法、电子设备及可读存储介质


[0001]本申请涉及终端
,特别涉及一种数据处理的方法

电子设备及可读存储介质


技术介绍

[0002]随着电子设备的快速发展,用户对电子设备的各种功能的性能要求越来越高,比如在图像帧数据刷新过程中通常需要画面流畅,即不出现卡顿现象

目前,一些电子设备提供双帧缓冲区
(framebuffer)
技术,其中,一个帧缓冲区用于图像帧数据的渲染,另一个帧缓冲区用于图像帧数据的送图,也即向显示屏提供待显示的图像帧数据

[0003]在利用双帧缓冲区进行图像帧数据渲染和显示的过程中,一个帧缓冲区中每渲染一帧图像帧数据后,需要将这一帧图像帧数据拷贝至另一个帧缓冲区中,以待送图显示

由于拷贝需要花费一定的时间,因此如何能够提高图像帧数据的显示帧率成为急需解决的问题


技术实现思路

[0004]本申请提供了一种数据处理的方法

电子设备及可读存储介质,可以解决相关技术中如何能够提高图像帧数据的显示帧率的问题

所述技术方案如下:
[0005]第一方面,提供了一种数据处理方法,应用于电子设备,所述方法包括:
[0006]在接收第一触发消息的情况下,第一线程通过直接内存访问
DMA
通道将第一帧缓冲区中的第一图像帧数据拷贝至第二帧缓冲区中,所述第一触发消息是在所述电子设备的显示屏完成上一帧第二图像帧数据的显示后触发的;
[0007]所述第一线程向第二线程发送渲染指令,以触发所述第二线程向所述第一帧缓冲区渲染下一帧第三图像帧数据;
[0008]在接收第二触发消息的情况下,所述第一线程将所述第二帧缓冲区中的所述第一图像帧数据发送给所述显示屏,以通过所述显示屏显示所述第一图像帧数据,所述第二触发消息是周期性触发的

[0009]作为本申请的一个示例,通过
DMA
通道进行数据拷贝,可以提高数据拷贝速度,减少了数据拷贝的时间,提高了图像帧数据的显示帧率

[0010]作为本申请的一个示例,所述在接收第一触发消息的情况下,第一线程通过直接内存访问
DMA
通道将第一帧缓冲区中的第一图像帧数据拷贝至第二帧缓冲区中,包括:
[0011]在接收所述第一触发消息的情况下,所述第一线程通过第一
DMA
通道和第二
DMA
通道,将所述第一图像帧数据从所述第一帧缓冲区拷贝至所述第二帧缓冲区中

[0012]作为本申请的一个示例,通过两个
DMA
通道进行数据拷贝可将数据拷贝时间缩短至
1.7
毫秒,如此减少了数据拷贝时间,从而可以提高图像帧数据的显示帧率

另外,由于
DMA
设备是由
CPU
进行管理的,所以在
DMA
设备运行过程中仍会消耗
CPU
的时间,如果采用较多的
DMA
通道进行数据拷贝,将会消耗
CPU
较多的时间

因此,本申请实施例中通过两个
DMA
通道进行数据拷贝,可以在保证缩短数据拷贝时间的同时,尽可能避免给
CPU
带来较大的时间开销

[0013]作为本申请的一个示例,所述在接收所述第一触发消息的情况下,所述第一线程通过第一
DMA
通道和第二
DMA
通道,将所述第一图像帧数据从所述第一帧缓冲区拷贝至所述第二帧缓冲区中,包括:
[0014]在接收所述第一触发消息的情况下,所述第一线程调用
DMA
通道分配接口,以请求分配所述第一
DMA
通道和所述第二
DMA
通道;
[0015]所述第一线程调用初始化接口,以分别对所述第一
DMA
通道和所述第二
DMA
通道进行初始化;
[0016]所述第一线程调用数据拷贝接口,以通过所述第一
DMA
通道和所述第二
DMA
通道将所述第一图像帧数据从所述第一帧缓冲区中拷贝至所述第二帧缓冲区中

[0017]如此,通过调用不同的接口请求配置和初始化第一
DMA
通道和第二
DMA
通道,然后即可利用第一
DMA
通道和第二
DMA
通道进行数据拷贝

[0018]作为本申请的一个示例,所述第一帧缓冲区中的数据量大于所述第一
DMA
通道与所述第二
DMA
通道一次能够拷贝的最大数据量之和;
[0019]所述第一线程调用数据拷贝接口,以通过所述第一
DMA
通道和所述第二
DMA
通道将所述第一图像帧数据从所述第一帧缓冲区中拷贝至所述第二帧缓冲区中,包括:
[0020]所述第一线程多次调用所述数据拷贝接口,以多次通过所述第一
DMA
通道和所述第二
DMA
通道对所述第一图像帧数据进行拷贝;
[0021]所述第一线程每调用一次所述数据拷贝接口,判断是否将所述第一帧缓冲区中的所述第一图像帧数据均拷贝至所述第二帧缓冲区中;
[0022]在未将所述第一帧缓冲区中的所述第一图像帧数据均拷贝至所述第二帧缓冲区中的情况下,所述第一线程继续调用所述数据拷贝接口,以继续通过所述第一
DMA
通道和所述第二
DMA
通道对所述第一图像帧数据进行拷贝,直到将所述第一帧缓冲区中的所述第一图像帧数据均拷贝至所述第二帧缓冲区中

[0023]如此,在数据拷贝过程中,通过多次调用第一
DMA
通道和第二
DMA
通道,以通过第一
DMA
通道和第二
MDA
通道循环拷贝,从而完成对第一图像帧数据的拷贝

[0024]作为本申请的一个示例,所述第一线程多次调用所述数据拷贝接口,以多次通过所述第一
DMA
通道和所述第二
DMA
通道对所述第一图像帧数据进行拷贝,包括:
[0025]所述第一线程在每次通过所述第一
DMA
通道和所述第二
DMA
通道对所述第一图像帧数据进行拷贝的过程中,确定与本次待拷贝的数据相关的第一数据拷贝参数和第二数据拷贝参数,所述第一数据拷贝参数用于所述第一
DMA
通道进行数据拷贝,所述第二数据拷贝参数用于所述第二
DMA
通道进行数据拷贝;
[0026]所述第一线程向所述数据拷贝接口发送所述第一数据拷贝参数和本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据处理的方法,其特征在于,应用于电子设备,所述方法包括:在接收第一触发消息的情况下,第一线程通过直接内存访问
DMA
通道将第一帧缓冲区中的第一图像帧数据拷贝至第二帧缓冲区中,所述第一触发消息是在所述电子设备的显示屏完成上一帧第二图像帧数据的显示后触发的;所述第一线程向第二线程发送渲染指令,以触发所述第二线程向所述第一帧缓冲区渲染下一帧第三图像帧数据;在接收第二触发消息的情况下,所述第一线程将所述第二帧缓冲区中的所述第一图像帧数据发送给所述显示屏,以通过所述显示屏显示所述第一图像帧数据,所述第二触发消息是周期性触发的
。2.
如权利要求1所述的方法,其特征在于,所述在接收第一触发消息的情况下,第一线程通过直接内存访问
DMA
通道将第一帧缓冲区中的第一图像帧数据拷贝至第二帧缓冲区中,包括:在接收所述第一触发消息的情况下,所述第一线程通过第一
DMA
通道和第二
DMA
通道,将所述第一图像帧数据从所述第一帧缓冲区拷贝至所述第二帧缓冲区中
。3.
如权利要求2所述的方法,其特征在于,所述在接收所述第一触发消息的情况下,所述第一线程通过第一
DMA
通道和第二
DMA
通道,将所述第一图像帧数据从所述第一帧缓冲区拷贝至所述第二帧缓冲区中,包括:在接收所述第一触发消息的情况下,所述第一线程调用
DMA
通道分配接口,以请求分配所述第一
DMA
通道和所述第二
DMA
通道;所述第一线程调用初始化接口,以分别对所述第一
DMA
通道和所述第二
DMA
通道进行初始化;所述第一线程调用数据拷贝接口,以通过所述第一
DMA
通道和所述第二
DMA
通道将所述第一图像帧数据从所述第一帧缓冲区中拷贝至所述第二帧缓冲区中
。4.
如权利要求3所述的方法,其特征在于,所述第一帧缓冲区中的数据量大于所述第一
DMA
通道与所述第二
DMA
通道一次能够拷贝的最大数据量之和;所述第一线程调用数据拷贝接口,以通过所述第一
DMA
通道和所述第二
DMA
通道将所述第一图像帧数据从所述第一帧缓冲区中拷贝至所述第二帧缓冲区中,包括:所述第一线程多次调用所述数据拷贝接口,以多次通过所述第一
DMA
通道和所述第二
DMA
通道对所述第一图像帧数据进行拷贝;所述第一线程每调用一次所述数据拷贝接口,判断是否将所述第一帧缓冲区中的所述第一图像帧数据均拷贝至所述第二帧缓冲区中;在未将所述第一帧缓冲区中的所述第一图像帧数据均拷贝至所述第二帧缓冲区中的情况下,所述第一线程继续调用所述数据拷贝接口,以继续通过所述第一
DMA
通道和所述第二
DMA
通道对所述第一图像帧数据进行拷贝,直到将所述第一帧缓冲区中的所述第一图像帧数据均拷贝至所述第二帧缓冲区中
。5.
如权利要求4所述的方法,其特征在于,所述第一线程多次调用所述数据拷贝接口,以多次通过所述第一
DMA
通道和所述第二
...

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

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

1