System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种图像处理方法和电子设备技术_技高网

一种图像处理方法和电子设备技术

技术编号:43580727 阅读:7 留言:0更新日期:2024-12-06 17:45
本申请实施例提供一种图像处理方法和电子设备,涉及图像处理领域。能够有效地避免图像绘制过程耗时较长导致的卡顿等问题。该方法可以包括:接收用户的第一操作。响应于第一操作,运行第一应用程序,并呈现第一应用程序的界面。接收用户在第一应用程序的界面的第二操作,第二操作为滑动操作。响应于第二操作,执行第一绘制操作以得到第一图像。将第一图像存储在第一buffer中。响应于第二操作,执行第二绘制操作以得到第二图像。在电子设备显示第一图像之前得到第二图像的情况下,将第二图像存储在的第二buffer中,保留第一buffer中的第一图像。

【技术实现步骤摘要】

本申请实施例涉及图像处理,尤其涉及一种图像处理方法和电子设备


技术介绍

1、电子设备在向用户提供显示功能时,经常会在用户的指示下进行连续帧图像的切换显示。

2、例如,在用户向电子设备输入滑动操作后,电子设备可以连续进行帧图像的渲染,并随着用户的滑动操作,更新当前显示界面。

3、这样,如果连续帧图像中存在一帧或多帧图像无法及时渲染完成,就会出现不同程度的丢帧或跳帧的情况,从而影响用户体验。


技术实现思路

1、本申请提供一种图像处理方法和电子设备,能够有效地避免图像绘制过程耗时较长导致的卡顿等问题。

2、为实现上述技术目的,本申请采用如下技术方案:

3、第一方面,提供一种图像处理方法,该方法应用于电子设备,该电子设备中配置有贴图缓冲队列texturebufferqueue,该texturebufferqueue包括至少两个有效缓冲buffer,该至少两个有效buffer中的每一个存储有一个绘制完成的图像。该方法包括:接收用户的第一操作。响应于该第一操作,运行第一应用程序,并呈现该第一应用程序的界面。接收用户在该第一应用程序的界面的第二操作,该第二操作为滑动操作。响应于该第二操作,执行第一绘制操作以得到第一图像。将该第一图像存储在第一buffer中。响应于该第二操作,执行第二绘制操作以得到第二图像。在该电子设备显示该第一图像之前得到该第二图像的情况下,将该第二图像存储在的第二buffer中,保留该第一buffer中的该第一图像。在该电子设备显示该第一图像之后得到该第二图像的情况下,将该第二图像存储在该第一buffer中。该第一buffer和该第二buffer包括在该至少两个有效buffer中。

4、这样,在生成两个图像的情况下,如果在先的图像尚未合成送显,在后的图像不会覆盖在先的图像,进而避免由于图像覆盖导致的丢帧的问题。而对应的,在先的图像已经被合成送显后,则在后绘制获取的图像就可以放入到第一buffer中,等待下一次合成送显触发后对该新的图像进行合成与显示。

5、可选的,该响应于该第二操作,执行第一绘制操作以得到第一图像,包括:响应于该第二操作,在第一vsync信号生成后,执行该第一绘制操作。在第二vsync信号到来后,第三vsync信号生成之前,获得该第一图像。该响应于该第二操作,执行第二绘制操作以得到第二图像,包括:响应于该第二操作,在该第二vsync信号生成后,执行该第二绘制操作。在该第三vsync信号生成之前,获得该第二图像。该第一vsync信号、该第二vsync信号以及该第三vsync信号是相邻的三个vsync信号。

6、这样,明确了本申请提供方案的一种具体实现场景。例如,第一图像的绘制耗时较长,使得在第二vsync信号生成之前,没有完成第一图像的绘制。这样,第一图像就可以在的第二vsync信号生成之后完成绘制进入第一buffer。在第二vsync信号到来,下一个第三vsync信号尚未到来的情况下,电子设备还可以按照原生的逻辑执行第二图像的绘制。例如,该第二图像的绘制耗时较短。那么该第二图像也可以在第三vsync信号到来之前完成绘制。

7、由于第一图像的合成送显需要在下一个vsync信号(如第三vsync信号)到来后触发,因此在第二图像完成绘制的情况下,第一图像尚未被合成送显。这样,第一图像就可以存储在第一buffer中,第二图像可以存储在第二buffer中。在第二图像进入第二buffer时,将第一凸显保留在第一buffer中等待下一个vsync信号到来后进行合成送显。

8、可选的,该电子设备显示该第一图像之前得到该第二图像。该方法还包括:生成第三vsync信号,该第三vsync信号用于触发显示该第一图像。执行第一送显操作,该第一送显操作用于从该第一buffer中获取该第一图像,并进行合成显示。

9、可选的,在显示该第一图像后,该方法还包括:从该第一buffer删除/释放该第一图像。

10、可选的,该方法还包括:将该第二图像从该第二buffer移动到该第一buffer,并从该第二buffer删除/释放该第二图像。

11、这样,即使存在多个有效buffer,电子设备也可以在每次触发合成送显时,都从第一buffer中获取对应的图像进行合成显示。

12、可选的,该方法还包括:生成第四vsync信号,该第四vsync信号用于触发显示该第二图像。执行第二送显操作,该第二送显操作用于从该第一buffer中获取该第二图像,并进行合成显示。该第四vsync信号是在该第三vsync信号后生成的,该第四vsync信号与该第三vsync信号相邻。

13、在本示例中,第一vsync信号、第二vsync信号、第三vsync信号以及第四vsync信号可以为四个相邻的vsync信号。例如,任意两个相邻的vsync信号之间的时长可以为显示屏分辨率倒数。

14、可选的,在该电子设备执行第二送显操作之前,该方法还包括:该电子设备获取该texturebufferqueue中有效buffer的数量。该电子设备执行第二送显操作,包括:在该有效buffer的数量大于或等于1的情况下,该电子设备执行该第二送显操作。由此在存在多个有效buffer配置的情况下,电子设备可以在执行buffer消费前,根据剩余有效buffer的数量,实现后续buffer的准确消费。

15、可选的,该电子设备中配置有回调队列,该回调队列用于存储送显回调。在得到该第一图像之后,该方法还包括:该电子设备生成第一送显回调,该第一送显回调用于指示该texturebufferqueue中有效buffer不为空。该电子设备将该第一送显回调放入该回调队列。

16、可选的,在该电子设备执行第一送显操作之前,该方法还包括:该电子设备确定该回调队列中包括该第一送显回调。

17、可选的,该送显回调为posttraversal回调。例如,第一送显回调可以是第一图像进入第一buffer后,flutter框架向应用主线程发送的posttraversal回调。

18、第二方面,本申请还提供一种电子设备,该电子设备包括:显示屏、存储器和一个或多个处理器。存储器和处理器耦合。其中,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当处理器执行计算机指令时,使得电子设备执行上述第一方面及其任一种可能的实现中提供的技术方案。

19、第三方面,本申请还提供一种芯片系统,该芯片系统应用于电子设备;芯片系统可以包括一个或多个接口电路和一个或多个处理器。接口电路和处理器通过线路互联,接口电路用于从电子设备的存储器接收信号,并向处理器发送该信号,该信号包括存储器中存储的计算机指令。当处理器执行上述的计算机指令时,电子设备执行上述第一方面及其任一种可能的实现中提供的技术方案。

20、第四方面,本申请还提供一种计算机可读存储介质,包括计算机指令,当计算机指令在电子本文档来自技高网...

【技术保护点】

1.一种图像处理方法,其特征在于,所述方法应用于电子设备,所述电子设备中配置有贴图缓冲队列TextureBufferQueue,所述TextureBufferQueue包括至少两个有效缓冲buffer,所述至少两个有效buffer中的每一个存储有一个绘制完成的图像;所述方法包括:

2.根据权利要求1所述的方法,其特征在于,

3.根据权利要求1或2所述的方法,其特征在于,所述电子设备显示所述第一图像之前得到所述第二图像;所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,在显示所述第一图像后,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:

6.根据权利要求5所述的方法,其特征在于,所述方法还包括:

7.根据权利要求6所述的方法,其特征在于,在所述电子设备执行第二送显操作之前,所述方法还包括:

8.根据权利要求3-7中任一项所述的方法,其特征在于,所述电子设备中配置有回调队列,所述回调队列用于存储送显回调;

9.根据权利要求8所述的方法,其特征在于,在所述电子设备执行第一送显操作之前,所述方法还包括:

10.根据权利要求8或9所述的方法,其特征在于,

11.一种电子设备,其特征在于,所述电子设备包括:显示屏,存储器和一个或多个处理器;所述显示屏、存储器和所述处理器耦合;

12.一种芯片系统,其特征在于,所述芯片系统应用于电子设备;所述芯片系统包括一个或多个接口电路和一个或多个处理器;所述接口电路和所述处理器通过线路互联;所述接口电路用于从所述电子设备的存储器接收信号,并向所述处理器发送所述信号,所述信号包括所述存储器中存储的计算机指令;当所述处理器执行所述计算机指令时,所述电子设备执行如权利要求1-10中任一项所述的方法。

13.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-10中任一项所述的方法。

...

【技术特征摘要】

1.一种图像处理方法,其特征在于,所述方法应用于电子设备,所述电子设备中配置有贴图缓冲队列texturebufferqueue,所述texturebufferqueue包括至少两个有效缓冲buffer,所述至少两个有效buffer中的每一个存储有一个绘制完成的图像;所述方法包括:

2.根据权利要求1所述的方法,其特征在于,

3.根据权利要求1或2所述的方法,其特征在于,所述电子设备显示所述第一图像之前得到所述第二图像;所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,在显示所述第一图像后,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:

6.根据权利要求5所述的方法,其特征在于,所述方法还包括:

7.根据权利要求6所述的方法,其特征在于,在所述电子设备执行第二送显操作之前,所述方法还包括:

8.根据权利要求3-7中任一项所述的方法,其特征在于,所述电子设备中...

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

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

1