增加缓存的方法及相关产品与流程

文档序号:37287026发布日期:2024-03-13 20:35阅读:14来源:国知局
增加缓存的方法及相关产品与流程

本技术涉及计算机,尤其涉及一种动态增加缓存(buffer)方法及相关产品。


背景技术:

1、blastbufferqueue(简称bbq)维护了一个生产者(producer)-消费者(consumer)模型,其应用程序(application program,app)侧(由生产者完成)渲染完成的图像保存在缓存中,然后通过事务(transaction)提交buffer与图层的属性给surfaceflinger(sf)进行合成、送显(实际的消费者)。其中,app侧完成渲染包括以下步骤:入队(queue)、出队(dequeue)、获取(acquire)、释放(release)等。上述步骤执行过程中需要进行缓存,上述步骤即缓存的轮转过程,且该轮转过程至少需要3个缓存才能顺利完成,若某个环节异常丢失缓存,将最终导致整个缓存轮转的卡死、终端(例如手机)冻屏、应用无响应(applicationnot response,anr)等问题。


技术实现思路

1、本技术提供一种增加缓存的方法及相关产品,以避免缓存轮转阻塞,提高缓存轮转的可靠性。

2、第一方面,提供了一种增加缓存的方法,所述方法应用于电子设备,所述方法包括:监测缓存轮转流程中的各缓存轮转子流程中获取缓存是否超时;以及若所述缓存轮转流程中的任一缓存轮转子流程中获取缓存超时,增加设定数量的缓存用于缓存轮转。在该方面中,通过实时监测缓存轮转流程中的各缓存轮转子流程中获取缓存是否超时,若超时,增加设定数量的缓存用于缓存轮转,可以避免缓存轮转阻塞,提高了缓存轮转的可靠性。

3、在一种可能的实现中,所述方法还包括:基于增加的所述设定数量的缓存,恢复所述缓存轮转流程。在该实现中,通过增加设定数量的缓存,可以避免缓存轮转阻塞,从而可以顺利地恢复缓存轮转流程。

4、在另一种可能的实现中,所述方法还包括:所述缓存轮转流程结束,释放所述设定数量的缓存。在该实现中,缓存轮转流程结束,释放上述设定数量的缓存,可以提高缓存资源的利用率。

5、在又一种可能的实现中,所述方法还包括:确定增加的所述缓存的数量。示例性地,可以通过控制mmaxacquiredbuffercount具体实现bbq中缓存的增减。

6、在又一种可能的实现中,所述缓存轮转流程包括出队缓存dequeuebuffer流程,所述监测缓存轮转流程中的各缓存轮转子流程中获取缓存是否超时,包括:在dequeuebuffer流程中进行超时监测,监测所述dequeuebuffer流程获取缓存是否超时。

7、在又一种可能的实现中,所述缓存轮转流程包括入队缓存queuebuffer流程,所述监测缓存轮转流程中的各缓存轮转子流程中获取缓存是否超时,包括:针对设定应用,监测在queuebuffer流程中获取缓存是否超时。

8、在又一种可能的实现中,所述方法还包括:添加所述设定应用的标识。在该实现中,考虑到大量app渲染方式的规范性及差异性,为了避免本技术增加缓存的方案的未知风险,可在bbq中添加设定应用的标识(白名单)识别/控制该方案生效的应用,通过白名单控制该方案可覆盖的应用。

9、第二方面,提供了一种增加缓存的装置,可以实现上述第一方面中的方法。可以通过软件、硬件、或者通过硬件执行相应的软件实现上述方法。

10、在一种可能的实现方式中,所述装置包括:监测单元,用于监测缓存轮转流程中的各缓存轮转子流程中获取缓存是否超时;以及增加单元,用于若所述监测单元监测到所述缓存轮转流程中的任一缓存轮转子流程中获取缓存超时,增加设定数量的缓存用于缓存轮转。

11、可选地,所述装置还包括:恢复单元,用于基于增加的所述设定数量的缓存,恢复所述缓存轮转流程。

12、可选地,所述装置还包括:释放单元,用于所述缓存轮转流程结束,释放所述设定数量的缓存。

13、可选地,所述装置还包括:确定单元,用于确定增加的所述缓存的数量。

14、可选地,所述缓存轮转流程包括出队缓存dequeuebuffer流程,所述监测单元用于在dequeuebuffer流程中进行超时监测,监测所述dequeuebuffer流程获取缓存是否超时。

15、可选地,所述缓存轮转流程包括入队缓存queuebuffer流程,所述监测单元用于针对设定应用,监测在queuebuffer流程中获取缓存是否超时。

16、可选地,所述装置还包括:添加单元,用于添加所述设定应用的标识。

17、在另一种可能的实现方式中,所述装置包括与存储器耦合的处理器;所述处理器被配置为支持所述装置执行上述方法中相应的功能。存储器用于与处理器耦合,其保存所述装置必要的程序(指令)和/或数据。可选的,所述装置还可以包括接口用于支持所述装置与其它装置之间的交互。可选的,该存储器可以位于该装置内部,也可以位于该装置外部。可选的,该存储器与处理器可以集成在一起。

18、第三方面,提供了一种电子设备,包括输入装置、输出装置、存储器和处理器;其中,所述处理器与所述输入装置、输出装置、存储器耦合,所述处理器用于执行计算机程序或指令,以控制所述输入装置进行信息的接收,以及控制所述输出装置进行信息的发送;当所述处理器执行所述计算机程序或指令时,所述处理器还用于通过逻辑电路或执行代码指令实现上述方法。其中,所述输入装置、输出装置可以为输入输出接口,用于接收来自所述装置之外的其它装置的信号并传输至所述处理器或将来自所述处理器的信号发送给所述装置之外的其它装置。

19、其中,所述处理器用于执行如下步骤:

20、监测缓存轮转流程中的各缓存轮转子流程中获取缓存是否超时;以及若所述缓存轮转流程中的任一缓存轮转子流程中获取缓存超时,增加设定数量的缓存用于缓存轮转。

21、在一种可能的实现中,所述处理器还用于执行如下步骤:基于增加的所述设定数量的缓存,恢复所述缓存轮转流程。

22、在另一种可能的实现中,所述处理器还用于执行如下步骤:所述缓存轮转流程结束,释放所述设定数量的缓存。

23、在又一种可能的实现中,所述处理器还用于执行如下步骤:确定增加的所述缓存的数量。

24、在又一种可能的实现中,所述缓存轮转流程包括出队缓存dequeuebuffer流程,所述处理器执行所述监测缓存轮转流程中的各缓存轮转子流程中获取缓存是否超时的步骤,包括:在dequeuebuffer流程中进行超时监测,监测所述dequeuebuffer流程获取缓存是否超时。

25、在又一种可能的实现中,所述缓存轮转流程包括入队缓存queuebuffer流程,所述处理器执行所述监测缓存轮转流程中的各缓存轮转子流程中获取缓存是否超时的步骤,包括:针对设定应用,监测在queuebuffer流程中获取缓存是否超时。

26、在又一种可能的实现中,所述处理器用于执行如下步骤:添加所述设定应用的标识。

27、第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序或指令,当计算机执行所述计算机程序或指令时,实现上述第一方面或第一方面的任意一种实现所述的方法。

28、第五方面,提供了一种包含指令的计算机程序产品,当该指令在装置上运行时,使得装置执行上述第一方面或第一方面的任意一种实现所述的方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1