一种硬件图层渲染调度方法、装置、设备及储存介质与流程

专利2022-05-10  33



1.本技术实施例涉及图像处理领域,尤其涉及一种硬件图层渲染调度方法、装置、设备及储存介质。


背景技术:

2.目前,在高性能的嵌入式平台的硬件,一般能够提供多个硬件图层并且实现多个硬件图层相互混合的功能。与软件图层混合需要大量的计算量相比,硬件图层在进行混合时几乎不会浪费计算资源。在使用过程中,用户只需要根据实际需求把不同的画面渲染在不同的硬件图层上面,嵌入式平台会自动将所有的硬件图层进行混合叠加并且输出到屏幕上进行显示。
3.而在真实的使用过程中,用户更加希望可以对每个硬件图层的刷新率进行控制,例如对于视频播放器需求的界面,该界面包含视频和操作界面,当需要对视频和操作界面的刷新率进行控制时,具有以下两种方式:
4.1,使用现成的gui(图形用户界面)类库来渲染视频和操作界面,但目前现有的gui类库都是单线程的,需要在同一条线程中进行所有图层的渲染流程,当图层需要渲染的任务量较多时,会导致整个视频播放器(包括视频流)出现卡顿。
5.2,创建两个线程,一条线程负责把视频渲染到硬件图层上,另外一条线程负责调用gui类库将操作界面渲染到另外一个硬件图层上,从而可以分别控制每套线程的刷新率,通过gui类库来处理复杂的操作界面以及减低操作界面的刷新率,从而保证视频的流畅性。
6.当创建两个线程来各自对硬件图层的刷新率进行控制时,如图1所示,若此时再增加渲染一个硬件图层(同时也增加一条线程来控制这个硬件图层)来渲染炫酷弹幕效果时,由于gui类库是单线程,会导致中间的弹幕层无法使用gui类库进行渲染;若弹幕层和操作界面层都采用同一条线程进行渲染,则会导致弹幕播放不流畅(弹幕滚动是需要流畅的滚动的),而如果不使用gui类库来渲染炫酷弹幕效的话,又会大幅度增加工作难度和开发时间。
7.综上所述,现有技术中由于gui类库是单线程,只能使用一条线程来渲染多个硬件图层,导致硬件图层的渲染效果差的技术问题。


技术实现要素:

8.本发明实施例提供了一种硬件图层渲染调度方法,用于解决现有技术中gui类库只能使用一条线程来渲染多个硬件图层,导致硬件图层的渲染效果差的技术问题。
9.第一方面,本发明实施例提供了一种硬件图层渲染调度方法,包括以下步骤:
10.周期对硬件图层进行渲染轮询,确认当前询问的硬件图层的渲染时间,所述硬件图层至少包括两种类型;
11.若当前询问的时间是当前询问的硬件图层的渲染时间,则对该硬件图层进行渲染,并根据该硬件图层的类型更新渲染时间;
12.若当前询问的时间不是当前询问的硬件图层的渲染时间,则询问下一个硬件图层,直至所有的硬件图层询问完毕;
13.判断在本周期内是否所有的硬件图层都不需要进行渲染;
14.若是,在本周期内对目标硬件图层进行渲染,所述目标硬件图层为前一周期中渲染速度最快的硬件图层。
15.优选的,所述根据该硬件图层的类型更新渲染时间的具体过程为:
16.确定该硬件图层开始渲染的时间,以及根据该硬件图层的类型确定该硬件图层一秒内所需要渲染的次数;
17.根据所述一秒内所需要渲染的次数以及所述开始渲染的时间,计算该硬件图层的下一次渲染时间,对该硬件图层的渲染时间进行更新。
18.优选的,所述根据所述一秒内所需要渲染的次数以及所述开始渲染的时间,计算该硬件图层的下一次渲染时间具体过程为:
19.根据所述一秒内所需要渲染的次数计算该硬件图层进行相邻两次渲染的时间间隔;
20.将所述开始渲染的时间加上所述时间间隔,得到该硬件图层的下一次渲染时间,对该硬件图层的渲染时间进行更新。
21.优选的,所述目标硬件图层为前一周期中渲染速度最快、有重绘区域请求以及还没有达到预设帧数的硬件图层。
22.优选的,所述若当前询问的时间是当前询问的硬件图层的渲染时间的具体过程为:
23.若当前询问的时间大于当前询问的硬件图层的渲染时间,则当前询问的时间是当前询问的硬件图层的渲染时间。
24.优选的,若当前询问的时间是当前询问的硬件图层的渲染时间,则对该硬件图层进行渲染的具体过程为:
25.若当前询问的时间是当前询问的硬件图层的渲染时间,判断该硬件图层是否达到预设帧率;
26.若否,对该硬件图层进行渲染;
27.若是,则询问下一个硬件图层。
28.优选的,在第一个渲染轮询的周期中,所述当前询问的时间均是当前询问的硬件图层的渲染时间。
29.第二方面,本发明实施例还提供了一种硬件图层渲染调度装置,包括:
30.轮询模块,用于周期对硬件图层进行渲染轮询,确认当前询问的硬件图层的渲染时间,所述硬件图层至少包括两种类型;
31.渲染模块,用于若当前询问的时间是当前询问的硬件图层的渲染时间,则对该硬件图层进行渲染,并根据该硬件图层的类型更新渲染时间;
32.遍历模块,用于若当前询问的时间不是当前询问的硬件图层的渲染时间,则询问下一个硬件图层,直至所有的硬件图层询问完毕;
33.判断模块,用于判断在本周期内是否所有的硬件图层都不需要进行渲染;
34.调度模块,用于在本周期内所有的硬件图层都不需要进行渲染时,在本周期内对
目标硬件图层进行渲染,所述目标硬件图层为前一周期中渲染速度最快的硬件图层。
35.第三方面,本发明实施例还提供了一种硬件图层渲染调度设备,所述设备包括处理器以及存储器;所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;所述处理器用于根据所述程序代码中的指令执行如第一方面所述的一种硬件图层渲染调度方法。
36.第四方面,本发明实施例还提供了一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的硬件图层渲染方法。
37.上述,本发明实施例通过周期对硬件图层进行渲染轮询,确认当前询问的硬件图层的渲染时间,硬件图层至少包括两种类型;若当前询问的时间是当前询问的硬件图层的渲染时间,则对该硬件图层进行渲染,并根据该硬件图层的类型更新渲染时间;若当前询问的时间不是当前询问的硬件图层的渲染时间,则询问下一个硬件图层,直至所有的硬件图层询问完毕;判断在本周期内是否所有的硬件图层都不需要进行渲染;若是,在本周期内对目标硬件图层进行渲染,目标硬件图层为前一周期中渲染速度最快的硬件图层。本发明实施例通过在每一个周期中,在所有硬件图层都不需要进行渲染时,对前一周期中渲染速度最快的硬件图层进行渲染,从而在出现时间缝隙的时候可以利用上个周期中渲染速度最快的目标硬件图层来渲染来填充时间缝隙,从而提高目标硬件图层的渲染次数,以免出现在某些硬件图层渲染次数过多而导致其他的硬件图层渲染次数不足的情况。本发明实施例能够提高硬件图层的渲染效果以及渲染效率,并且在多硬件图层的使用场景下,可以通过gui类库来提高开发效率,而不一定要依赖多线程来开发,大大提高了开发周期和提高嵌入式平台资源利用率。解决了解决现有技术中gui类库只能使用一条线程来渲染多个硬件图层,导致硬件图层的渲染效果差的技术问题。
附图说明
38.图1为一个使用场景下硬件图层的结构图。
39.图2为本发明实施例提供的一种硬件图层渲染调度方法的方法流程图。
40.图3为本发明实施例提供的一种硬件图层渲染调度方法的原理图。
41.图4为本发明实施例提供的一种硬件图层渲染调度装置的装置结构图。
42.图5为本发明实施例提供的一种硬件图层渲染调度设备的设备结构图。
具体实施方式
43.以下描述和附图充分地示出本技术的具体实施方案,以使本领域的技术人员能够实践它们。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本技术的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,各实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。本文中,诸如第一和第二等之类的关系术语仅仅用于将一个实体或者操作与另一个实体或操作区分开来,而不要求或者暗示这些实体或操作之间存在
任何实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素。本文中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的结构、产品等而言,由于其与实施例公开的部分相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
44.实施例一
45.图2为本发明实施例提供的一种硬件图层渲染调度方法的方法流程图。本发明实施例提供中提供的硬件图层渲染方法可以由硬件图层渲染设备执行,该硬件图层渲染设备可以通过软件和/或硬件的方式实现,该硬件图层渲染设备可以是两个或多个物理实体构成,也可以由一个物理实体构成。例如硬件图层渲染设备可以是电脑、手机、平板或智能交互平板等设备。
46.步骤101、周期对硬件图层进行渲染轮询,确认当前询问的硬件图层的渲染时间,硬件图层至少包括两种类型。
47.在本实施例中,周期性地对硬件图层进行渲染轮询,遍历所有的硬件图层,并且对于每一个询问到的硬件图层,需要确认硬件图层的渲染时间,以便于后续根据渲染时间判断在此周期中是否需要对硬件图层进行渲染。在一个实施例中,硬件图层至少包括两种类型,硬件图层的类型可以根据硬件图层所显示的界面进行划分。示例性的,在一个实施例中,硬件图层包括两种类型,一种类型的硬件图层用于对操作界面进行显示,另一种类型的硬件图层用于显示视频。可理解,若只有一个硬件图层,则单线程的gui类库即可直接控制硬件图层的刷新率,无需后续对渲染算力进行分配,因此,本实施例适用于硬件图层至少为两种类型的使用场景。硬件图层的类型可以根据实际需要进行设置,在本实施例中不对硬件图层的数量进行限定。
48.步骤102、若当前询问的时间是当前询问的硬件图层的渲染时间,则对该硬件图层进行渲染,并根据该硬件图层的类型更新渲染时间。
49.在本实施例中,在一个周期中,对于轮询到的每一个硬件图层,如果当前询问的时间达到当前询问的硬件图层的渲染时间,则对该硬件图层进行渲染,并且在渲染该硬件图层后,根据该硬件图层的类型计算该硬件图层下一次的渲染时间,将该硬件图层的渲染时间更新为下一次的渲染时间。
50.在一个实施例中,并根据该硬件图层的类型更新渲染时间具体由步骤1021

步骤1022执行,具体如下:
51.步骤1021、确定该硬件图层开始渲染的时间,以及根据该硬件图层的类型确定该硬件图层一秒内所需要渲染的次数。
52.首先确定在本周期中,该硬件图层开始渲染的时间。之后,由于不同类型的硬件图层用于显示不同的界面,因此,不同类型的硬件图层一秒内的设定的渲染次数是不相同的,因此,需要根据该硬件图层的类型确定该硬件图层一秒内的渲染次数。在一个实施例中,可以通过确定该硬件图层一秒内的帧数从而确定该硬件图层一秒内所需要渲染的次数。示例性的,对于一个硬件图层,若该硬件图层一秒内预设的帧数为60帧,则该硬件图层一秒内需要渲染60次。可理解,硬件图层一秒内需要进行渲染的次数可以根据需要进行预先设置,在
本实施例中,不对硬件图层一秒内需要进行渲染的次数进行限定。之后,确定在本周期中,该硬件图层开始渲染的时间。
53.步骤1022、根据一秒内所需要渲染的次数以及开始渲染的时间,计算该硬件图层的下一次渲染时间,对该硬件图层的渲染时间进行更新。
54.在得到硬件图层一秒内需要渲染的次数后,即可根据一秒内需要进行渲染的次数,计算该硬件图层的帧率,之后,即可根据计算出的帧率以及以及开始渲染的时间,计算该硬件图层的下一次渲染时间,对该硬件图层的渲染时间进行更新。
55.在一个实施例中,根据一秒内所需要渲染的次数以及开始渲染的时间,计算该硬件图层的下一次渲染时间,对该硬件图层的渲染时间进行更新的具体由步骤10221

步骤10222执行:
56.步骤10221、根据一秒内所需要渲染的次数计算该硬件图层进行相邻两次渲染的时间间隔。
57.首先,根据一秒内所需要渲染的次数计算该硬件图层进行相邻两次渲染的时间间隔。示例性的,若一个硬件图层一秒内所需要渲染的次数为60次,则将1000ms/60帧=16ms/帧,即每16ms渲染一次,即该硬件图层进行相邻两次渲染的时间间隔为16ms。
58.步骤10222、将开始渲染的时间加上时间间隔,得到该硬件图层的下一次渲染时间,对该硬件图层的渲染时间进行更新。
59.由于在本周期中已经对该硬件图层进行渲染,因此,将开始渲染的时间加上时间间隔,即可得到该硬件图层的下一次渲染时间,对该硬件图层的渲染时间进行更新。示例性的,若周周期中开始渲染的时间为20ms,则将20ms加上16ms,得到该硬件图层的下一次渲染时间为36ms,从而对该硬件图层的渲染时间进行更新。
60.步骤103、若当前询问的时间不是当前询问的硬件图层的渲染时间,则询问下一个硬件图层,直至所有的硬件图层询问完毕。
61.如果当前询问的时间不是当前询问的硬件图层的渲染时间,则继续询问下一个硬件图层,确定下一个硬件图层是否需要进行渲染,直至遍历所有的硬件图层询问完毕。示例性的,若存在10个硬件图层,在本周期中,如果只有2个硬件图层需要渲染,则只渲染这2个硬件图层,其他的硬件图层不进行渲染,从而降低本周期的运算量,提高了运行效率,使得在同一段时间内能够执行更多的周期,提高各个硬件图层的渲染次数。
62.步骤104、判断在本周期内是否所有的硬件图层都不需要进行渲染。
63.在本周期中对所有的硬件图层渲染轮询完毕后,判断在本周期内是否所有的硬件图层都不需要进行渲染。
64.步骤105、若是,在本周期内对目标硬件图层进行渲染,所述目标硬件图层为前一周期中渲染速度最快的硬件图层。若否,则进入下一个周期。
65.如果在本周期中,如果所有的硬件图层都不需要进行渲染,则渲染算力会进入休眠状态从而浪费渲染时间,出现时间缝隙,降低渲染的效率,因此,在调用本周期内对目标硬件图层进行渲染,在出现时间缝隙的时候可以利用渲染速度最快的硬件图层来渲染来填充时间缝隙,从而快速进入到下一个周期中。在本实施例中,目标硬件图层为前一周期中渲染速度最快的硬件图层,由于目标硬件图层在上一个周期内的渲染速度最快,则目标硬件图层需要的渲染算力比较少,可以提高主循环渲染次数,因此在本实施例中,在本周期内将
不需要进行渲染的硬件图层对应的渲染算力在本周期内分配给目标硬件图层,从而在出现时间缝隙的时候可以利用渲染速度最快的目标硬件图层来渲染来填充时间缝隙,使渲染算力不进入休眠状态,提高目标硬件图层的渲染次数,从而提高目标硬件图层的帧率。
66.在上述实施例的基础上,目标硬件图层为前一周期中渲染速度最快、有重绘区域请求以及还没有达到预设帧率的硬件图层。
67.渲染速度最快,则说明目标硬件图层所需要的渲染算力最少,有重绘区域请求,则说明目标硬件图层还需要进行渲染,而未达到预设帧率,则说明目标硬件图层尚未达到帧率要求,若目标硬件图层已经达到预设帧率,则再对目标硬件图层进行渲染,会使得目标硬件图层突破预设帧率,造成渲染算力的浪费。因此,在本实施例中,将前一周期中渲染次数最多、有重绘区域请求以及还没有达到预设帧率的硬件图层作为硬件图层。
68.在一个实施例中,若当前询问的时间是当前询问的硬件图层的渲染时间的具体过程为:
69.若当前询问的时间大于当前询问的硬件图层的渲染时间,则当前询问的时间是当前询问的硬件图层的渲染时间。
70.在本实施例中,若当前询问的时间大于当前询问的硬件图层的渲染时间,则当前询问的时间是当前询问的硬件图层的渲染时间。示例性的,对于一个硬件图层,若第一个周期的时间为10ms,当前询问的硬件图层的渲染时间为16ms。在第一个周期中,已经对当前询问的硬件图层渲染了10毫秒,则该硬件图层下一次的渲染时间为0 16ms=16ms,若在第二个周期中当前询问的时间为18ms,由于当前询问的硬件图层的渲染时间为16ms,即当前询问的时间18ms大于当前询问的硬件图层的渲染时间16ms,则说明该硬件图层需要进行渲染,当前询问的时间是当前询问的硬件图层的渲染时间。
71.在一个实施例中,若当前询问的时间是当前询问的硬件图层的渲染时间,则对该硬件图层进行渲染的具体过程为:
72.若当前询问的时间是当前询问的硬件图层的渲染时间,判断该硬件图层是否达到预设帧率;若否,对该硬件图层进行渲染;若是,则询问下一个硬件图层。
73.在本实施例中,若当前询问的时间是当前询问的硬件图层的渲染时间,则还需要进一步判断该硬件图层是否应达到预设帧率,若达到了,若继续对该硬件图层进行渲染,会使得该硬件图层的帧率突破预设帧率,浪费渲染算力以及渲染时间,降低渲染效率。
74.在上述实施例的基础上,在第一个渲染轮询的周期中,所述当前询问的时间均是当前询问的硬件图层的渲染时间。
75.在第一个渲染轮询的周期中,当前询问的时间均是当前询问的硬件图层的渲染时间,即需要对每一个硬件图层都进行一次渲染,并且对于每一个硬件图层,都需要记录开始渲染的时间并且计算下一次渲染时间,之后,根据下一次渲染时间对每一个硬件图层的渲染时间进行更新,以便在下一个周期中根据每一个硬件图层的渲染时间判断每一硬件图层的是否需要进行渲染。
76.在一个实施例中,视频播放器包括有三个硬件图层,且三个硬件图层对应一种类型,且三个硬件图层各自需要的刷新率分别是:操作界面层为30帧(约为33.3ms/帧),弹幕层为60帧(约为16.6ms/帧),视频层为24帧(约为41.6ms/帧),而操作界面层渲染时间为10ms/帧,弹幕层渲染时间为5ms/帧,视频层渲染时间为20ms/帧,而且每一个周期都会有脏
矩形(每一个周期都需要刷新和重绘);
77.若未使用本发明实施例提供的硬件图层渲染方法,而直接按照gui类库的单线程对硬件图层进行渲染,则每个硬件图层的帧率约为28.6帧=1000ms/(5ms 10ms 20ms),则弹幕层的帧率远远到不到要求,而视频层的帧率又比要求多了4.6帧,从而造成算力的浪费。
78.若使用本发明实施例提供的硬件图层渲染方法,示例性的,如图3所示,第一个周期中,分别对操作界面层、弹幕层以及视频层进行渲染,并计算操作界面层、弹幕层以及视频层下一次的渲染时间,对操作界面层、弹幕层以及视频层的渲染时间进行更新。在第二个周期中,若每一层不需要进行渲染,而弹幕层为目标硬件图层,则在第二个周期中对弹幕层进行渲染,从而提高弹幕层的渲染次数。通过在每个周期中当所有硬件图层都不需要进行渲染时,对上一个周期渲染速度最快且还没有达到预设帧率的目标硬件图层进行渲染,从而提高目标硬件图层的渲染次数,得到的结果为:操作界面层的帧率为26帧,弹幕层的帧率为60帧,视频层的帧率为22帧,每个硬件图层都可以满足使用的需求,通过调度对上一个周期中渲染速度最快的目标硬件图层来渲染来填充时间缝隙,使得渲染算力不进入休眠状态,从而能够迅速进入下一轮的询问,并且能够平衡了各个硬件图层之间的帧率,不至于出现让某些硬件图层帧率过低,而某些硬件图层帧率过多的情况。同时由于每一个周期都会进行渲染,在单核心嵌入式平台中(单核心嵌入式平台在微观上每一次只能执行一条线程,线程并不能并行执行),即使开设多线程对硬件图层进行渲染,由于多线程调度存在保存和还原堆栈的等问题,其渲染的效率要比本发明实施例提供的硬件图层渲染方法更低。
79.上述,本发明实施例通过周期对硬件图层进行渲染轮询,确认当前询问的硬件图层的渲染时间,硬件图层至少包括两种类型;若当前询问的时间是当前询问的硬件图层的渲染时间,则对该硬件图层进行渲染,并根据该硬件图层的类型更新渲染时间;若当前询问的时间不是当前询问的硬件图层的渲染时间,则询问下一个硬件图层,直至所有的硬件图层询问完毕;判断在本周期内是否所有的硬件图层都不需要进行渲染;若是,在本周期内对目标硬件图层进行渲染,目标硬件图层为前一周期中渲染速度最快的硬件图层。本发明实施例通过在每一个周期中,在所有硬件图层都不需要进行渲染时,对前一周期中渲染速度最快的硬件图层进行渲染,从而在出现时间缝隙的时候可以利用上个周期中渲染速度最快的目标硬件图层来渲染来填充时间缝隙,从而提高目标硬件图层的渲染次数,以免出现在某些硬件图层渲染次数过多而导致其他的硬件图层渲染次数不足的情况。本发明实施例能够提高硬件图层的渲染效果以及渲染效率,并且在多硬件图层的使用场景下,可以通过gui类库来提高开发效率,而不一定要依赖多线程来开发,大大提高了开发周期和提高嵌入式平台资源利用率。解决了解决现有技术中gui类库只能使用一条线程来渲染多个硬件图层,导致硬件图层的渲染效果差的技术问题。
80.实施例二
81.如图4所示,图4为本发明实施例还提供了一种硬件图层渲染调度装置,包括:
82.轮询模块201,用于周期对硬件图层进行渲染轮询,确认当前询问的硬件图层的渲染时间,所述硬件图层至少包括两种类型;
83.渲染模块202,用于若当前询问的时间是当前询问的硬件图层的渲染时间,则对该硬件图层进行渲染,并根据该硬件图层的类型更新渲染时间;
84.遍历模块203,用于若当前询问的时间不是当前询问的硬件图层的渲染时间,则询问下一个硬件图层,直至所有的硬件图层询问完毕;
85.判断模块204,用于判断在本周期内是否所有的硬件图层都不需要进行渲染;
86.调度模块205,用于在本周期内所有的硬件图层都不需要进行渲染时,在本周期内对目标硬件图层进行渲染,所述目标硬件图层为前一周期中渲染速度最快的硬件图层。
87.在上述实施例的基础上,渲染模块202用于所述根据该硬件图层的类型更新渲染时间的具体过程为:
88.确定该硬件图层一秒内开始渲染的时间,以及根据该硬件图层的类型确定该硬件图层所需要渲染的次数;
89.根据所述一秒内所需要渲染的次数以及所述开始渲染的时间,计算该硬件图层的下一次渲染时间,对该硬件图层的渲染时间进行更新。
90.在上述实施例的基础上,渲染模块202用于所述根据所述一秒内所需要渲染的次数以及所述开始渲染的时间,计算该硬件图层的下一次渲染时间具体过程为:
91.根据所述一秒内所需要渲染的次数计算该硬件图层进行相邻两次渲染的时间间隔;
92.将所述开始渲染的时间加上所述时间间隔,得到该硬件图层的下一次渲染时间,对该硬件图层的渲染时间进行更新。
93.在上述实施例的基础上,所述目标硬件图层为前一周期中渲染速度最快、有重绘区域请求以及还没有达到预设帧数的硬件图层。
94.在上述实施例的基础上,渲染模块202用于所述若当前询问的时间是当前询问的硬件图层的渲染时间的具体过程为:
95.若当前询问的时间大于当前询问的硬件图层的渲染时间,则当前询问的时间是当前询问的硬件图层的渲染时间。
96.在上述实施例的基础上,渲染模块202用于若当前询问的时间是当前询问的硬件图层的渲染时间,则对该硬件图层进行渲染的具体过程为:
97.若当前询问的时间是当前询问的硬件图层的渲染时间,判断该硬件图层是否达到预设帧率;若否,对该硬件图层进行渲染;若是,则询问下一个硬件图层。
98.在上述实施例的基础上,在第一个渲染轮询的周期中,所述当前询问的时间均是当前询问的硬件图层的渲染时间。
99.实施例三
100.本实施例还提供了一种硬件图层渲染调度设备,如图5所示,一种硬件图层渲染调度设备30,所述设备包括处理器300以及存储器301;
101.所述存储器301用于存储程序代码302,并将所述程序代码302传输给所述处理器;
102.所述处理器300用于根据所述程序代码302中的指令执行上述的一种硬件图层渲染调度方法实施例中的步骤。
103.示例性的,所述计算机程序302可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器301中,并由所述处理器300执行,以完成本技术。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序302在所述终端设备30中的执行过程。
memory)、随机存取存储器(ram,randomaccess memory)、磁碟或者光盘等各种可以存储程序代码的介质。
112.实施例四
113.本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种硬件图层渲染调度方法,该方法包括以下步骤:
114.周期对硬件图层进行渲染轮询,确认当前询问的硬件图层的渲染时间,硬件图层至少包括两种类型;
115.若当前询问的时间是当前询问的硬件图层的渲染时间,则对该硬件图层进行渲染,并根据该硬件图层的类型更新渲染时间;
116.若当前询问的时间不是当前询问的硬件图层的渲染时间,则询问下一个硬件图层,直至所有的硬件图层询问完毕;
117.判断在本周期内是否所有的硬件图层都不需要进行渲染;
118.若是,在本周期内对目标硬件图层进行渲染,目标硬件图层为前一周期中渲染速度最快的硬件图层。
119.注意,上述仅为本发明实施例的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明实施例不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明实施例的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明实施例构思的情况下,还可以包括更多其他等效实施例,而本发明实施例的范围由所附的权利要求范围决定。
转载请注明原文地址:https://doc.8miu.com/read-1719136.html

最新回复(0)