CN104317586B - 多屏幕渲染处理方法、处理器、设备及系统 - Google Patents
多屏幕渲染处理方法、处理器、设备及系统 Download PDFInfo
- Publication number
- CN104317586B CN104317586B CN201410564576.0A CN201410564576A CN104317586B CN 104317586 B CN104317586 B CN 104317586B CN 201410564576 A CN201410564576 A CN 201410564576A CN 104317586 B CN104317586 B CN 104317586B
- Authority
- CN
- China
- Prior art keywords
- screen
- rendered
- rendering
- target
- layer group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明实施例公开一种多屏幕渲染方法,所述多屏幕包括N个待渲染屏幕,所述N为自然数,所述多屏幕渲染方法应用于包括单进程处理器的设备,包括:将所述单进程处理器划分为N个渲染单元,所述渲染单元与待渲染屏幕一一对应;对于所述N个渲染单元中任一渲染单元执行对应待渲染屏幕对应的绘图图层组获取操作、所述对应待渲染屏幕对应的目标渲染对象获取操作以及将所述目标渲染对象渲染至绘图图层组之后所述对应待渲染屏幕的渲染显示操作,其中,所述对应待渲染屏幕对应的目标渲染对象获取操作根据渲染对象的屏幕属性获取。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种多屏幕渲染处理方法、处理器、处理设备及系统。
背景技术
随着显示技术的发展,很多场合都使用到具有多个屏幕的显示系统,例如:现在的嵌入式娱乐系统,在展示形式上主要表现上为有两个屏幕,其中一个屏幕处理用户和系统的信息互动功能,另一个屏幕上展示系统根据用户互动产生的信息内容。
若要实现多个屏幕的显示,则需多个CPU系统支持或由至少一个多进程的CPU系统支持,还是以上述具有两个屏幕的嵌入式娱乐系统为例,现有技术中有几种展示方式来展示这两个屏幕的内容:①、两个屏幕都采用2D的表现形式来展示;②、一个屏幕用3D的展示、另一个用2D展示;③、使用支持多个进程3D程序的CPU芯片或者使用两个CPU,跑两个系统来实现两个屏幕都以3D的方式来展示。
由上述可知,就目前已有的方案,若要实现多个屏幕的显示,则需多个CPU系统支持或由至少一个多进程的CPU系统支持,但上述情况往往会造成系统软硬件成本的增加及浪费,并且也增加了维护的难度及成本。
发明内容
为此,需要提供一种多屏幕渲染处理方法、处理器、处理设备及系统,用以实现以更低的软硬件成本实现多个屏幕的显示,降低维护的难度及成本。
本发明实施例采用如下技术方案:
第一方面,本发明实施例提供一种多屏幕渲染方法,所述多屏幕包括N个待渲染屏幕,所述N为自然数,所述多屏幕渲染方法应用于包括单进程处理器的设备,包括:
将所述单进程处理器划分为N个渲染单元,所述渲染单元与待渲染屏幕一一对应;
控制所述N个渲染单元中任一渲染单元执行对应待渲染屏幕对应的绘图图层组获取操作、所述对应待渲染屏幕对应的目标渲染对象获取操作以及将所述目标渲染对象渲染至绘图图层组之后所述对应待渲染屏幕的渲染显示操作,其中,所述对应待渲染屏幕对应的目标渲染对象获取操作根据渲染对象的屏幕属性获取,所述渲染对象、目标渲染对象均为3D渲染对象。
结合第一方面,在第一方面第一种可能的实现方式中,当N=1时,所述控制所述N个渲染单元中任一渲染单元执行对应待渲染屏幕对应的绘图图层组获取操作、所述对应待渲染屏幕对应的目标渲染对象获取操作以及将所述目标渲染对象渲染至绘图图层组之后所述对应待渲染屏幕的渲染显示操作,其中,所述对应待渲染屏幕对应的目标渲染对象获取操作根据渲染对象的屏幕属性获取,包括:
获取待渲染屏幕对应的绘图图层组;
根据渲染对象的屏幕属性获取所述待渲染屏幕对应的目标渲染对象;
根据所述目标渲染对象的对象属性将所述目标渲染对象渲染至所述绘图图层组,得到已渲染的目标绘图图层组,将所述目标绘图图层组发送至所述待渲染屏幕的硬件帧缓冲区显示。
结合第一方面,在第二种可能的实现方式中,当N≥2时,对于所述N个渲染单元按序执行对应待渲染屏幕对应的绘图图层组获取操作、所述对应待渲染屏幕对应的目标渲染对象获取操作以及将所述目标渲染对象渲染至绘图图层组之后所述对应待渲染屏幕的渲染显示操作,其中,所述对应待渲染屏幕对应的目标渲染对象获取操作根据渲染对象的屏幕属性获取,包括:
获取一待渲染屏幕对应的绘图图层组;
根据渲染对象的屏幕属性获取所述一待渲染屏幕对应的目标渲染对象;
根据所述目标渲染对象的对象属性将所述目标渲染对象渲染至所述绘图图层组,得到已渲染的目标绘图图层组,将所述目标绘图图层组发送至所述一待渲染屏幕的硬件帧缓冲区显示;
对于所述N-1个待渲染屏幕的每一待渲染屏幕,按序重复上述对应绘图图层组的获取、对应目标渲染对象的获取以及目标绘图图层的得到并将目标绘图图层发送至对应待渲染屏幕的硬件帧缓冲区显示的过程,直至剩余待渲染屏幕均被渲染。结合第一方面或者结合第一种可能的实现方式或者结合第二种可能的实现方式,在第三种可能的实现方式中,所述多屏幕渲染方法还包括:根据渲染指令,创建与所述N个待渲染屏幕一一对应的N组绘图图层组。
结合第三种可能的实现方式,在第四种可能的实现方式中,所述根据渲染指令,创建与所述N个待渲染屏幕一一对应的N组绘图图层组包括:
根据渲染所述N个待渲染屏幕的渲染指令,创建至少N个绘图图层;
划分所述至少N个绘图图层,得到N组绘图图层组;
将所述N组绘图图层组中的单绘图图层组与所述N个待渲染屏幕中的单待渲染屏幕一一对应关联。
结合第三种可能的实现方式,在第五种可能的实现方式中,所述渲染指令还包括控制指令,所述控制指令用于控制所述N个渲染单元的执行顺序、和/或控制所述N个渲染单元中任一渲染单元的可执行性。
第二方面,本实施例提供一种多屏幕渲染处理器,所述多屏幕渲染处理器为单进程处理器,连接N个待渲染屏幕,所述N为自然数;
所述多屏幕渲染处理器包括:N个渲染单元,所述渲染单元与待渲染屏幕一一对应;其中:
所述多屏幕渲染处理器控制所述N个渲染单元中任一渲染单元执行对应待渲染屏幕对应的绘图图层组获取操作、所述对应待渲染屏幕对应的目标渲染对象获取操作以及将所述目标渲染对象渲染至绘图图层组之后所述对应待渲染屏幕的渲染显示操作,其中,所述对应待渲染屏幕对应的目标渲染对象获取操作根据渲染对象的屏幕属性获取,所述渲染对象、目标渲染对象均为3D渲染对象。
结合第二方面,在第一种可能的实现方式中,当N=1时,所述多屏幕渲染处理器控制所述渲染单元用于:
获取待渲染屏幕对应的绘图图层组;
根据渲染对象的屏幕属性获取所述待渲染屏幕对应的目标渲染对象;
根据所述目标渲染对象的对象属性将所述目标渲染对象渲染至所述绘图图层组,得到已渲染的目标绘图图层组,将所述目标绘图图层组发送至所述待渲染屏幕的硬件帧缓冲区显示。
结合第二方面,在第二种可能的实现方式中,当N≥2时,所述N个渲染单元包括第一渲染单元和包括N-1个渲染单元的第N-1渲染单元组;
所述多屏幕渲染处理器控制所述第一渲染单元用于:
获取一待渲染屏幕对应的绘图图层组;
根据渲染对象的屏幕属性获取所述一待渲染屏幕对应的目标渲染对象;
根据所述目标渲染对象的对象属性将所述目标渲染对象渲染至所述绘图图层组,得到已渲染的目标绘图图层组,将所述目标绘图图层组发送至所述一待渲染屏幕的硬件帧缓冲区显示;
所述多屏幕渲染处理器控制所述第N-1渲染单元组用于:
控制所述N-1个渲染单元中每个渲染单元,按序一一重复上述绘图图层组的获取、目标渲染对象的获取以及目标绘图图层的得到并将目标绘图图层发送至对应待渲染屏幕的硬件帧缓冲区显示的过程;其中,所述N-1个渲染单元按序执行操作。
结合第二方面或者结合第一种可能的实现方式或者结合第二种可能的实现方式,在第三种可能的实现方式中,所述多屏幕渲染处理器还包括:创建单元,用于根据渲染指令,创建与所述N个待渲染屏幕一一对应的N组绘图图层组。
结合第三种可能的实现方式,在第四种可能的实现方式中,所述创建单元包括:
创建子单元,用于根据渲染所述N个待渲染屏幕的渲染指令,创建至少N个绘图图层;
划分子单元,用于划分所述至少N个绘图图层,得到N组绘图图层组;
关联子单元,用于将所述N组绘图图层组中的单绘图图层组与所述N个待渲染屏幕中的单待渲染屏幕一一对应关联。
结合第三种可能的实现方式,在第五种可能的实现方式中,所述渲染指令还包括控制指令,所述控制指令用于控制所述N个渲染单元的执行顺序、和/或控制所述N个渲染单元中任一渲染单元的可执行性。
第三方面,本实施例提供一种多屏幕渲染处理设备,包括如第二方面、第二方面的第一至第五种可能的实现方式的多屏幕渲染处理器。
第四方面,本实施例提供一种多屏幕渲染系统,包括:包括N个待渲染屏幕的多屏幕以及第三方面所述的多屏幕渲染处理设备。
区别于现有技术,本申请实施例可通过单进程处理器实现多屏幕渲染对象的效果显示。一方面,由于绘图图层组、渲染对象与待渲染屏幕均具有对应关系,渲染某一待渲染屏幕时可直接获取对应绘图图层组并直接将对应渲染对象渲染至对应绘图图层组,那么渲染出来的结果为直接所需的渲染效果,效率高效且不容易出错;另一方面,又因为只有一个单进程处理器在工作,同时在实现两个屏幕的信息互动时只需要在单进程处理器中进行控制即可,节约了电力成本;且维护时只需监控此单进程处理器的工作参数即可,降低了维护的难度及成本;再一方面,还可控制所述N个待渲染屏幕的被渲染顺序、和/或所述N个待渲染屏幕中任一待渲染屏幕的可被渲染性,在某些渲染过程出现问题时可通过此控制方法实现排查,提高了排查效率,降低了维护时的成本。
附图说明
图1为本发明实施例一多屏幕渲染方法的流程示意图;
图2为本发明实施例二多屏幕只具有一个待渲染屏幕的渲染方法流程示意图;
图3为本发明实施例三多屏幕中具有至少两个待渲染屏幕的渲染方法流程示意图;
图4a为本发明实施例四多屏幕中具有至少一个选定的待渲染屏幕渲染方法流程示意图;
图4b为本发明实施例四多屏幕中具有三个被选定的待渲染屏幕渲染方法流程示意图;
图4c为本发明实施例四多屏幕中具有三个被选定的待渲染屏幕渲染另一方法流程示意图;
图5为本发明实施例五多屏幕渲染方法的流程示意图;
图6这本发明实施例六多屏幕渲染处理器的结构模块图。
附图标记说明:
611、第一渲染单元,612、第二渲染单元,61n、第N渲染单元;
621、第一待渲染屏幕,622、第二待渲染屏幕,62n、第N待渲染屏幕。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
实施例一
请参阅图1,本实施例提供一种多屏幕渲染方法,所述多屏幕包括N个待渲染屏幕,所述N为自然数,所述多屏幕渲染方法应用于单进程处理器或包括单进程处理器的设备。所述设备可以为装有嵌入系统的电子设备。在渲染之前,本实施例对待渲染对象增加一屏幕属性,用于说明此待渲染对象属于哪一个待渲染屏幕,将渲染对象与待渲染屏幕的对应关联。在本实施例中,渲染对象/目标渲染对象可以为3D对象,也可以为2D对象。接收到渲染所述N个待渲染屏幕的渲染指令后,执行本实施例所述的多屏幕渲染方法,如下所示。
步骤S101,将所述单进程处理器划分为N个渲染单元,所述渲染单元与待渲染屏幕一一对应。
步骤S102,控制所述N个渲染单元中任一渲染单元执行对应待渲染屏幕对应的绘图图层组获取操作、所述对应待渲染屏幕对应的目标渲染对象获取操作以及将所述目标渲染对象渲染至绘图图层组之后所述对应待渲染屏幕的渲染显示操作,其中,所述对应待渲染屏幕对应的目标渲染对象获取操作根据渲染对象的屏幕属性获取,所述绘图图层组与待渲染屏幕一一对应。
本实施例通过将单进程处理器划分为与N个待渲染屏幕一一对应的N个渲染单元,控制每一个渲染单元只执行与其对应的待渲染屏幕的渲染过程,从而实现只利用单进程处理器渲染多个屏幕的效果,节约了材料成本和开发人力资源;又因为只有一个单进程处理器在工作,维护时只需监控此单进程处理器的工作参数即可,降低了维护的难度及成本。
实施例二
请参阅图2,本实施例提供一种多屏幕渲染方法,应用于单进程处理器或包括单进程处理器的设备。所述设备可以为装有嵌入系统的电子设备。在本实施例中,所述多屏幕只具有一个待渲染屏幕,相应的,渲染单元同样只具有一个。在渲染之前,本实施例对待渲染对象增加一屏幕属性,用于说明此待渲染对象属于哪一个待渲染屏幕,将渲染对象与待渲染屏幕的对应关联。在本实施例中,渲染对象/目标渲染对象可以为3D对象,也可以为2D对象。接收到渲染所述待渲染屏幕的渲染指令后,执行本实施例所述的多屏幕渲染方法,如下所示。
步骤S200,根据渲染指令,创建与所述待渲染屏幕对应的一组绘图图层组。具体的,步骤S200通过以下过程实现:
根据渲染所述待渲染屏幕的渲染指令,创建至少一个绘图图层;
将所述至少一个绘图图层划分至一组绘图图层组;
将所述一组绘图图层组与所述待渲染屏幕对应关联。
然后将所述单进程处理器设置为一个渲染单元,所述渲染单元与待渲染屏幕一一对应。
步骤S201,获取待渲染屏幕对应的绘图图层组。
步骤S202,根据渲染对象的屏幕属性获取所述待渲染屏幕对应的目标渲染对象;
步骤S203,根据所述目标渲染对象的对象属性将所述目标渲染对象渲染至所述绘图图层组,得到已渲染的目标绘图图层组,将所述目标绘图图层组发送至所述待渲染屏幕的硬件帧缓冲区显示。
经过上述过程后,指定所述一组绘图图层组对应待渲染屏幕,在渲染过程中,渲染所述一组绘图图层时就只渲染属于对应待渲染屏幕的对象。由于绘图图层组、渲染对象与待渲染屏幕均具有对应关系,渲染所述待渲染屏幕时可直接获取对应绘图图层组并直接将对应渲染对象渲染至对应绘图图层组,那么渲染出来的结果为直接所需的渲染效果,效率高效且不容易出错。此外,又因为只有一个单进程处理器在工作,维护时只需监控此单进程处理器的工作参数即可,降低了维护的难度及成本。
实施例三
请参阅图3,本实施例提供一多屏幕渲染方法,应用于单进程处理器或包括单进程处理器的设备。所述设备可以为装有嵌入系统的电子设备。在本实施例中,所述多屏幕包括N个待渲染屏幕,其中N为自然数,且N≥2。相应的,渲染单元具有N个,且与待渲染屏幕一一对应。在渲染之前,本实施例对待渲染对象增加一屏幕属性,用于说明此待渲染对象属于哪一个待渲染屏幕,将渲染对象与待渲染屏幕的对应关联。在本实施例中,渲染对象/目标渲染对象可以为3D对象,也可以为2D对象。接收到渲染所述待渲染屏幕的渲染指令后,执行本实施例所述的多屏幕渲染方法,如下所示。
步骤S300,根据渲染指令,创建与所述待渲染屏幕对应的N组绘图图层组。具体的,步骤S300通过以下过程实现:
根据渲染所述待渲染屏幕的渲染指令,创建至少N个绘图图层;
划分所述至少N个绘图图层,得到N组绘图图层组;
将所述N组绘图图层组中的单绘图图层组与所述N个待渲染屏幕中的单待渲染屏幕一一对应关联。
然后将所述单进程处理器划分为N个渲染单元,所述渲染单元与待渲染屏幕一一对应。
步骤S301,获取一待渲染屏幕对应的绘图图层组。
步骤S302,根据渲染对象的屏幕属性获取所述一待渲染屏幕对应的目标渲染对象。
步骤S303,根据所述目标渲染对象的对象属性将所述目标渲染对象渲染至所述绘图图层组,得到已渲染的目标绘图图层组,将所述目标绘图图层组发送至所述一待渲染屏幕的硬件帧缓冲区显示。
步骤S304,判断N-1是否等于0。若等于0,则执行步骤S305,渲染结束。若不等于0,则执行步骤S306。
步骤S306,获取所述N-1个待渲染屏幕中另一待渲染屏幕对应的绘图图层组2,并执行步骤S307。
步骤S307,对应目标渲染对象2的获取、以及目标绘图图层2的得到并将目标绘图图层2发送至所述另一待渲染屏幕的硬件帧缓冲区显示(在这里,为了能更清楚地解释本实施例,我们将另一待渲染屏幕的对应绘图图层组、对应目标渲染对象、目标绘图图层组分别标记为绘图图层组2、目标渲染对象2、目标绘图图层组2):
根据渲染对象的屏幕属性获取所述另一待渲染屏幕对应的目标渲染对象2;
根据所述目标渲染对象2的对象属性将所述目标渲染对象2渲染至所述绘图图层组2,得到已渲染的目标绘图图层组2,将所述目标绘图图层组2发送至所述一待渲染屏幕的硬件帧缓冲区显示。
返回并执行步骤S304,直至所述N个待渲染屏幕均被渲染,流程结束。
本实施例通过将单进程处理器划分为与N个待渲染屏幕一一对应的N个渲染单元,控制每一个渲染单元只执行与其对应的待渲染屏幕的渲染过程,从而实现只利用单进程处理器渲染多个屏幕的效果,节约了材料成本和开发人力资源。
另外,由于绘图图层组、渲染对象与待渲染屏幕均具有对应关系,渲染某一待渲染屏幕时可直接获取对应绘图图层组并直接将对应渲染对象渲染至对应绘图图层组,那么渲染出来的结果为直接所需的渲染效果,效率高效且不容易出错。
又因为只有一个单进程处理器在工作,维护时只需监控此单进程处理器的工作参数即可,降低了维护的难度及成本。
实施例四
请参阅图4.a至4.c,本实施例提供一种多屏幕渲染方法,应用于单进程处理器或包括单进程处理器的设备。所述设备可以为装有嵌入系统的电子设备。在本实施例中,所述多屏幕包括N个待渲染屏幕,相应的,渲染单元的数量与待渲染屏幕的数量相同,且与待渲染屏幕一一对应。在渲染之前,本实施例对待渲染对象增加一屏幕属性,用于说明此待渲染对象属于哪一个待渲染屏幕,将渲染对象与待渲染屏幕的对应关联。在本实施例中,渲染对象/目标渲染对象可以为3D对象,也可以为2D对象。
接收到渲染所述待渲染屏幕的渲染指令后,则执行本实施例提供的多屏幕渲染方法。在本实施渲染指令包括指示指令以及控制指令,其中,所述指示指令用于指示单进程处理器渲染待渲染屏幕,控制指令用于控制所述N个渲染单元的执行顺序、和/或控制所述N个渲染单元中任一渲染单元的可执行性。为了能更清楚地理解本实施提供的技术方法,下面将从几个实施方式解释。以下几个实施方式在接收到渲染指令后,均会进行以下步骤:
根据渲染指令,创建与所述待渲染屏幕对应的N组绘图图层组。具体的,通过以下过程实现:
根据渲染所述待渲染屏幕的渲染指令,创建至少N个绘图图层;
划分所述至少N个绘图图层,得到N组绘图图层组;
将所述N组绘图图层组中的单绘图图层组与所述N个待渲染屏幕中的单待渲染屏幕一一对应关联。
然后将所述单进程处理器划分为N个渲染单元,所述渲染单元与待渲染屏幕一一对应。
下面着重讲几个实施方式的不同之处。
第一实施方式
请参阅图4.a,在第一实施方式中,控制指令用于控制所述N个渲染单元的执行顺序,即控制所述N个待渲染屏幕的被渲染顺序,那么所述N个待渲染屏幕均为被控制指令选定的待渲染屏幕。假设在第一实施方式中,所述渲染单元的执行顺序—待渲染屏幕的被渲染顺序如下表所示:
渲染单元序号 | 执行顺序 | 待渲染屏幕序号 | 被渲染顺序 |
渲染单元1 | 1 | 待渲染屏幕1 | 1 |
渲染单元2 | 2 | 待渲染屏幕2 | 2 |
…… | …… | …… | …… |
渲染单元N | N | 待渲染屏幕N | N |
那么在第一实施方式中,本实施例的多屏幕渲染方法则如下所示。
步骤S410,根据渲染指令,创建与所述N个待渲染屏幕一一对应的N组绘图图层组;控制指令控制渲染单元1~N的执行顺序为1~N。其过程可参照前述实施例,在此不再赘述。
步骤S412,控制所述渲染单元1~N按执行顺序一一执行对应绘图图层组的获取、对应目标渲染对象的获取以及目标绘图图层的得到并将目标绘图图层发送至对应待渲染屏幕的硬件帧缓冲区显示的过程:
(1)待渲染屏幕1的被渲染过程
a1、获取待渲染屏幕1对应的绘图图层组10;
a2、根据渲染对象的屏幕属性获取所述待渲染屏幕1对应的目标渲染对象11;
a3、根据所述目标渲染对象11的对象属性将所述目标渲染对象11渲染至所述绘图图层组10,得到已渲染的目标绘图图层组12,将所述目标绘图图层组12发送至所述待渲染屏幕10的硬件帧缓冲区13显示。
a1~a3完成待渲染屏幕1的被渲染。
(2)待渲染屏幕2的被渲染过程
b1、获取待渲染屏幕2对应的绘图图层组20;
b2、根据渲染对象的屏幕属性获取所述待渲染屏幕2对应的目标渲染对象21;
b3、根据所述目标渲染对象21的对象属性将所述目标渲染对象21渲染至所述绘图图层组20,得到已渲染的目标绘图图层组22,将所述目标绘图图层组12发送至所述待渲染屏幕20的硬件帧缓冲区23显示。
b1~b3完成待渲染屏幕2的被渲染。
……
(N)待渲染屏幕N的被渲染过程
n1、获取待渲染屏幕N对应的绘图图层组N0;
n2、根据渲染对象的屏幕属性获取所述待渲染屏幕N对应的目标渲染对象N1;
n3、根据所述目标渲染对象N1的对象属性将所述目标渲染对象N1渲染至所述绘图图层组N0,得到已渲染的目标绘图图层组N2,将所述目标绘图图层组N2发送至所述待渲染屏幕N0的硬件帧缓冲区N3显示。
n1~n3完成待渲染屏幕N的被渲染。
第二实施方式
请参阅图4.b,在第二实施方式中,控制指令用于控制所述N个渲染单元中任一渲染单元的可执行性,即控制所述N个待渲染屏幕的是否可被渲染。假设在本第二实施方式中,控制指令用于控制渲染单元2、3、4可被执行,渲染单元1、5~N不被可执行,那么待渲染屏幕2、3、4为被控制指令选定可被渲染的待渲染屏幕,那么本第二实施方式的实现如下。
步骤S420,根据渲染指令,创建与所述N个待渲染屏幕一一对应的N组绘图图层组;控制指令控制渲染单元2、3、4为可执行,渲染单元1、5~N为不可执行。
步骤S421,控制所述渲染单元2、3、4一一执行对应绘图图层组的获取、对应目标渲染对象的获取以及目标绘图图层的得到并将目标绘图图层发送至对应待渲染屏幕的硬件帧缓冲区显示的过程。每个待渲染屏幕的被渲染过程可参阅前述实施例,在此不再赘述。
第三实施方式
请参阅图4.c,在第三实施方式中,控制指令用于控制所述N个渲染单元的执行顺序及所述N个渲染单元中任一渲染单元的可执行性,即控制所述N个待渲染屏幕的是否可被渲染及选定的可被渲染的待渲染屏幕的被渲染顺序。假设在本第二实施方式中,控制指令用于控制渲染单元2、3、4可被执行且执行顺序为4、3、2,渲染单元1、5~N不被可执行,那么待渲染屏幕2、3、4为被控制指令选定可被渲染的待渲染屏幕,那么本第二实施方式的实现如下。
步骤S430,根据渲染指令,创建与所述N个待渲染屏幕一一对应的N组绘图图层组;控制指令控制渲染单元2、3、4为可执行且执行顺序为4、3、2,渲染单元1、5~N为不可执行。创建绘图图层组的过程请参阅前述实施例,在此不再说明。
步骤S432,控制所述渲染单元4、3、2按执行顺序4、3、2一一先后执行对应绘图图层组的获取、对应目标渲染对象的获取以及目标绘图图层的得到并将目标绘图图层发送至对应待渲染屏幕的硬件帧缓冲区显示的过程。每个待渲染屏幕的被渲染过程可参阅前述实施例,在此不再赘述。
由上述实施方式可知,本实施例除能实现前述实施例所达到的技术效果外,还可实现控制所述N个渲染单元的执行顺序、和/或控制所述N个渲染单元中任一渲染单元的可执行性(即所述N个待渲染屏幕的被渲染顺序、和/或所述N个待渲染屏幕中任一待渲染屏幕的可被渲染性),在某些渲染过程出现问题时可通过此控制方法实现排查,提高了排查效率,降低了维护时的成本。另外,还可实现指定某些待渲染屏幕的渲染,满足不同场合的需求。
实施例五
请参阅图5,本实施例提供一种多屏幕的渲染方法,应用于包括单进程处理器的嵌入式系统设备,该设备通过OpenGL ES实现3D对象的渲染。在本实施例中,所述多屏幕包括N个屏幕,所有屏幕均为待渲染屏幕。本实施例应用到的技术术语如下:
OpenGL ES,其为OpenGL for Embedded Systems的缩写,是OpenGL三维图形API的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。
surface,可以理解为绘图图层,在渲染过程中主要用于被填充渲染对象。
framebuffer,可以理解为硬件帧缓冲区,用于显示渲染结果。
eglSwapBuffers,系统一函数,用于渲染UI时被调用使用。
在渲染之前,本实施例对OpenGL ES渲染对象增加一个属性来说明它属于哪一个屏幕,将渲染对象与待渲染屏幕的对应关联。本实施例的具体实现过程如下。
步骤S500,接收到渲染指令,初始化OpenGL ES的平台环境。
步骤S501,不去指定渲染surface渲染完成后使用的显示的framebuffer(屏幕),而在渲染过程开始前对OpenGL ES渲染过程中使用到的几个渲染surface进行控制管理,把每个渲染surface指定给特定的framebuffer,在渲染这个渲染surface的时候就渲染属于这个framebuffer的3D对象。对渲染surface的控制管理主要通过如下过程实现:
创建至少N个渲染surface;
划分所述至少N个渲染surface,得到N组渲染surface组;
将所述N组渲染surface组中的单组渲染surface组与所述N个屏幕中的单个屏幕(即N个待渲染屏幕中的单个待渲染屏幕)一一对应关联。
步骤S501不在渲染surface渲染完成后再指定使用的显示的framebuffer(屏幕),而是在渲染开始前指定哪些渲染surface对应哪个屏幕,此改进有利于整个渲染过程的监测、控制。
假设屏幕1~N的被渲染顺序为1~N,此后进入屏幕1的被渲染过程,即步骤S502~S506。
步骤S502,清空OpenGL ES的渲染surface,使渲染surface为空白图层。
步骤S503,获取屏幕1对应的渲染surface组。
步骤S504,根据渲染对象的屏幕属性获取屏幕1对应的目标3D渲染对象,并根据目标3D渲染对象的对象属性将所述目标3D渲染对象渲染至所述渲染surface组,得到已渲染的目标渲染surface组。
步骤S505,把目标渲染surface组发送至所述屏幕1的硬件帧缓冲区framebuffer显示,具体的实现过程如下:通过把OpenGL ES使用到的渲染surface组中的几个渲染surface的句柄提取出来。在渲染完一个渲染surface后,通过此surface的句柄找到渲染之后的surface,然后把渲染之后的surface拷贝到对应的显示framebuffer上显示。在这里,本实施例还可在渲染完所有渲染surface之后,通过句柄一一找到对应的渲染之后的surface,并按照渲染完成的先后顺序一一被拷贝到对应的显示framebuffer上叠加显示。
步骤S506,调用eglSwapBuffers,交换另一个渲染surface,进入下一个渲染周期。
由于渲染surface组、3D渲染对象与屏幕均具有对应关系,渲染某一屏幕时可直接获取对应渲染surface组并直接将对应3D渲染对象渲染至对应渲染surface组,那么渲染出来的结果为直接所需的渲染效果,效率高效且不容易出错。
又因为只有一个单进程处理器在工作,同时在实现两个屏幕的信息互动时只需要在单进程处理器中进行控制即可,节约了电力成本;且维护时只需监控此单进程处理器的工作参数即可,降低了维护的难度及成本。
本实施例还可控制所述N个待渲染屏幕的被渲染顺序、和/或所述N个待渲染屏幕中任一待渲染屏幕的可被渲染性,在某些渲染过程出现问题时可通过此控制方法实现排查,提高了排查效率,降低了维护时的成本。
此外,本领域人员应当知道的是:现有技术中往往会在两个渲染周期时使用到同一个渲染surface,即一个渲染surface可能在不同渲染周期中渲染不同屏幕的对象,这会在不同屏幕画面差别比较大时而产生闪烁,造成马赛克等现象。本实施例在渲染之前指定哪些渲染surface对应哪个屏幕,避免一个渲染surface在不同渲染周期中渲染不同屏幕的对象,降低了发生闪烁或马赛克现象的可能性。
实施例六
请参阅图6,本实施例提供一多屏幕渲染处理器,所述多屏幕渲染处理器为单进程处理器,连接N个待渲染屏幕——第一待渲染屏幕621、第二待渲染屏幕622至第N待渲染屏幕62N,所述N为自然数;
所述多屏幕渲染处理器包括:N个渲染单元——第一渲染单元611、第二渲染单元612至第N渲染单元61N,所述渲染单元与待渲染屏幕一一对应;其中:
所述多屏幕渲染处理器控制所述N个渲染单元中任一渲染单元执行对应待渲染屏幕对应的绘图图层组获取操作、所述对应待渲染屏幕对应的目标渲染对象获取操作以及将所述目标渲染对象渲染至绘图图层组之后所述对应待渲染屏幕的渲染显示操作,其中,所述对应待渲染屏幕对应的目标渲染对象获取操作根据渲染对象的屏幕属性获取。
具体的,在第一种可能的实现方式中,当N=1时,所述多屏幕渲染处理器控制所述渲染单元用于:
获取待渲染屏幕对应的绘图图层组;
根据渲染对象的屏幕属性获取所述待渲染屏幕对应的目标渲染对象;
根据所述目标渲染对象的对象属性将所述目标渲染对象渲染至所述绘图图层组,得到已渲染的目标绘图图层组,将所述目标绘图图层组发送至所述待渲染屏幕的硬件帧缓冲区显示。
具体的,在第二种可能的实现方式中,当N≥2时,所述N个渲染单元包括第一渲染单元和包括N-1个渲染单元的第N-1渲染单元组;
所述多屏幕渲染处理器控制所述第一渲染单元用于:
获取一待渲染屏幕对应的绘图图层组;
根据渲染对象的屏幕属性获取所述一待渲染屏幕对应的目标渲染对象;
根据所述目标渲染对象的对象属性将所述目标渲染对象渲染至所述绘图图层组,得到已渲染的目标绘图图层组,将所述目标绘图图层组发送至所述一待渲染屏幕的硬件帧缓冲区显示;
所述多屏幕渲染处理器控制所述第N-1渲染单元组用于:
控制所述N-1个渲染单元中每个渲染单元,按序重复上述绘图图层组的获取、目标渲染对象的获取以及目标绘图图层的得到并将目标绘图图层发送至对应待渲染屏幕的硬件帧缓冲区显示的过程;其中,所述N-1个渲染单元按序执行操作。
结合本实施例或者结合第一种可能的实现方式或者结合第二种可能的实现方式,在第三种可能的实现方式中,所述多屏幕渲染处理器还包括:创建单元,用于根据渲染指令,创建与所述N个待渲染屏幕一一对应的N组绘图图层组。
具体的,所述创建单元包括:
创建子单元,用于根据渲染所述N个待渲染屏幕的渲染指令,创建至少N个绘图图层;
划分子单元,用于划分所述至少N个绘图图层,得到N组绘图图层组;
关联子单元,用于将所述N组绘图图层组中的单绘图图层组与所述N个待渲染屏幕中的单待渲染屏幕一一对应关联。
具体的,在第四种可能的实现方式中,所述渲染指令还包括控制指令,所述控制指令用于控制所述N个渲染单元的执行顺序、和/或控制所述N个渲染单元中任一渲染单元的可执行性。
实施例七
本实施例提供一种多屏幕渲染处理设备,包括如实施例六所述的多屏幕渲染处理器。
实施例八
实施例提供一种多屏幕渲染系统,包括:包括N个待渲染屏幕的多屏幕以及实施例七所述的多屏幕渲染处理设备。
上述设备及系统实施例中的多屏幕渲染处理器的工作原理,取得的技术效果均可参照前述的方法实施例,为避免重复,这里不再描述。
综上,本申请实施例一方面,由于绘图图层组、渲染对象与待渲染屏幕均具有对应关系,渲染某一待渲染屏幕时可直接获取对应绘图图层组并直接将对应渲染对象渲染至对应绘图图层组,那么渲染出来的结果为直接所需的渲染效果,效率高效且不容易出错;另一方面,又因为只有一个单进程处理器在工作,同时在实现两个屏幕的信息互动时只需要在单进程处理器中进行控制即可,节约了电力成本;且维护时只需监控此单进程处理器的工作参数即可,降低了维护的难度及成本;再一方面,还可控制所述N个待渲染屏幕的被渲染顺序、和/或所述N个待渲染屏幕中任一待渲染屏幕的可被渲染性,在某些渲染过程出现问题时可通过此控制方法实现排查,提高了排查效率,降低了维护时的成本。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域人员应该理解的是,上述实施例提供的方法步骤的时序可根据实际情况进行适应性调整,也可根据实际情况并发进行。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
上述实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,例如:个人计算机、服务器、网络设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,例如:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种多屏幕渲染方法,所述多屏幕包括N个待渲染屏幕,所述N为自然数,其特征在于,所述多屏幕渲染方法应用于包括单进程处理器的设备,包括:
将所述单进程处理器划分为N个渲染单元,所述渲染单元与待渲染屏幕一一对应;
控制所述N个渲染单元中任一渲染单元执行对应待渲染屏幕对应的绘图图层组获取操作、所述对应待渲染屏幕对应的目标渲染对象获取操作以及将所述目标渲染对象渲染至绘图图层组之后所述对应待渲染屏幕的渲染显示操作,其中,所述对应待渲染屏幕对应的目标渲染对象获取操作根据渲染对象的屏幕属性获取,所述渲染对象、目标渲染对象均为3D渲染对象;
当N≥2时,控制所述N个渲染单元按序执行对应待渲染屏幕对应的绘图图层组获取操作、所述对应待渲染屏幕对应的目标渲染对象获取操作以及将所述目标渲染对象渲染至绘图图层组之后所述对应待渲染屏幕的渲染显示操作,其中,所述对应待渲染屏幕对应的目标渲染对象获取操作根据渲染对象的屏幕属性获取,包括:
获取一待渲染屏幕对应的绘图图层组;
根据渲染对象的屏幕属性获取所述一待渲染屏幕对应的目标渲染对象;
根据所述目标渲染对象的对象属性将所述目标渲染对象渲染至所述绘图图层组,得到已渲染的目标绘图图层组,将所述目标绘图图层组发送至所述一待渲染屏幕的硬件帧缓冲区显示;
对于所述N-1个待渲染屏幕的每一待渲染屏幕,按序重复上述对应绘图图层组的获取、对应目标渲染对象的获取以及目标绘图图层的得到并将目标绘图图层发送至对应待渲染屏幕的硬件帧缓冲区显示的过程,直至剩余待渲染屏幕均被渲染。
2.根据权利要求1所述的多屏幕渲染方法,其特征在于,还包括:根据渲染指令,创建与所述N个待渲染屏幕一一对应的N组绘图图层组。
3.根据权利要求2所述的多屏幕渲染方法,其特征在于,所述根据渲染指令,创建与所述N个待渲染屏幕一一对应的N组绘图图层组包括:
根据渲染所述N个待渲染屏幕的渲染指令,创建至少N个绘图图层;
划分所述至少N个绘图图层,得到N组绘图图层组;
将所述N组绘图图层组中的单绘图图层组与所述N个待渲染屏幕中的单待渲染屏幕一一对应关联。
4.根据权利要求2所述的多屏幕渲染方法,其特征在于,所述渲染指令还包括控制指令,所述控制指令用于控制所述N个渲染单元的执行顺序、和/或控制所述N个渲染单元中任一渲染单元的可执行性。
5.一种多屏幕渲染处理器,其特征在于,所述多屏幕渲染处理器为单进程处理器,连接N个待渲染屏幕,所述N为自然数;
所述多屏幕渲染处理器包括:N个渲染单元,所述渲染单元与待渲染屏幕一一对应;
其中:
所述多屏幕渲染处理器控制所述N个渲染单元中任一渲染单元执行对应待渲染屏幕对应的绘图图层组获取操作、所述对应待渲染屏幕对应的目标渲染对象获取操作以及将所述目标渲染对象渲染至绘图图层组之后所述对应待渲染屏幕的渲染显示操作,其中,所述对应待渲染屏幕对应的目标渲染对象获取操作根据渲染对象的屏幕属性获取,所述渲染对象、目标渲染对象均为3D渲染对象;
当N≥2时,所述N个渲染单元包括第一渲染单元和包括N-1个渲染单元的第N-1渲染单元组;
所述多屏幕渲染处理器控制所述第一渲染单元用于:
获取一待渲染屏幕对应的绘图图层组;
根据渲染对象的屏幕属性获取所述一待渲染屏幕对应的目标渲染对象;
根据所述目标渲染对象的对象属性将所述目标渲染对象渲染至所述绘图图层组,得到已渲染的目标绘图图层组,将所述目标绘图图层组发送至所述一待渲染屏幕的硬件帧缓冲区显示;
所述多屏幕渲染处理器控制所述第N-1渲染单元组用于:
控制所述N-1个渲染单元中每个渲染单元,按序重复上述绘图图层组的获取、目标渲染对象的获取以及目标绘图图层的得到并将目标绘图图层发送至对应待渲染屏幕的硬件帧缓冲区显示的过程;其中,所述N-1个渲染单元按序执行操作。
6.根据权利要求5所述的多屏幕渲染处理器,其特征在于,还包括:创建单元,用于根据渲染指令,创建与所述N个待渲染屏幕一一对应的N组绘图图层组。
7.根据权利要求6所述的多屏幕渲染处理器,其特征在于,所述创建单元包括:
创建子单元,用于根据渲染所述N个待渲染屏幕的渲染指令,创建至少N个绘图图层;
划分子单元,用于划分所述至少N个绘图图层,得到N组绘图图层组;
关联子单元,用于将所述N组绘图图层组中的单绘图图层组与所述N个待渲染屏幕中的单待渲染屏幕一一对应关联。
8.根据权利要求6所述的多屏幕渲染处理器,其特征在于,所述渲染指令还包括控制指令,所述控制指令用于控制所述N个渲染单元的执行顺序、和/或控制所述N个渲染单元中任一渲染单元的可执行性。
9.一种多屏幕渲染处理设备,其特征在于,包括如权利要求5至8任一项所述的多屏幕渲染处理器。
10.一种多屏幕渲染系统,其特征在于,包括:包括N个待渲染屏幕的多屏幕以及如权利要求9所述的多屏幕渲染处理设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410564576.0A CN104317586B (zh) | 2014-10-22 | 2014-10-22 | 多屏幕渲染处理方法、处理器、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410564576.0A CN104317586B (zh) | 2014-10-22 | 2014-10-22 | 多屏幕渲染处理方法、处理器、设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104317586A CN104317586A (zh) | 2015-01-28 |
CN104317586B true CN104317586B (zh) | 2018-04-10 |
Family
ID=52372821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410564576.0A Active CN104317586B (zh) | 2014-10-22 | 2014-10-22 | 多屏幕渲染处理方法、处理器、设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104317586B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108228121B (zh) * | 2016-12-15 | 2021-05-07 | 中科创达软件股份有限公司 | 一种浏览器分屏的方法、装置及移动终端 |
WO2018119786A1 (zh) * | 2016-12-28 | 2018-07-05 | 深圳前海达闼云端智能科技有限公司 | 一种显示数据处理方法及装置 |
CN112040312A (zh) * | 2020-07-24 | 2020-12-04 | 北京飞讯数码科技有限公司 | 一种分屏渲染方法、装置、设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102972011A (zh) * | 2012-04-01 | 2013-03-13 | 华为技术有限公司 | 媒体处理系统和处理媒体业务的方法 |
CN103035164A (zh) * | 2012-12-24 | 2013-04-10 | 广东威创视讯科技股份有限公司 | 一种地理信息系统渲染方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1013825A (ja) * | 1996-06-20 | 1998-01-16 | Fujitsu General Ltd | 多画面表示システム |
US20110210975A1 (en) * | 2010-02-26 | 2011-09-01 | Xgi Technology, Inc. | Multi-screen signal processing device and multi-screen system |
-
2014
- 2014-10-22 CN CN201410564576.0A patent/CN104317586B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102972011A (zh) * | 2012-04-01 | 2013-03-13 | 华为技术有限公司 | 媒体处理系统和处理媒体业务的方法 |
CN103035164A (zh) * | 2012-12-24 | 2013-04-10 | 广东威创视讯科技股份有限公司 | 一种地理信息系统渲染方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104317586A (zh) | 2015-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102722912B (zh) | 一种三维虚拟现实场景中物体按层级加卸载的方法和装置 | |
CN105975274B (zh) | 一种应用于Android平台的显示窗口的方法和装置 | |
US10489948B2 (en) | Image synthesis method, image chip, and image device | |
CA2504082A1 (en) | Method and apparatus for generating user interfaces based upon automation with full flexibility | |
KR101136850B1 (ko) | 중앙 처리 장치, 그것의 gpu 시뮬레이션 방법 그리고 그것을 포함하는 컴퓨팅 시스템 | |
CN104317586B (zh) | 多屏幕渲染处理方法、处理器、设备及系统 | |
CN105955935A (zh) | 一种文字控件的实现方法及其装置 | |
CN105528207A (zh) | 一种虚拟现实系统及其中显示安卓应用图像的方法和装置 | |
CN104820677A (zh) | 一种学科层级展示方法及系统 | |
CN102122502A (zh) | 一种三维字体显示方法以及相关装置 | |
CN103679813B (zh) | 三维数字地球的构建方法以及三维数字地球系统 | |
CN108845737B (zh) | 图片错层显示方法、电子设备及存储介质 | |
CN106910234A (zh) | 一种基于改进的三维渲染引擎分布式渲染方法及系统 | |
CN104765594A (zh) | 一种显示图形用户界面的方法及装置 | |
CN106648408A (zh) | 触摸数据处理方法、装置、触摸屏及拼接显示系统 | |
CN106815880B (zh) | 动画复用方法和系统 | |
CN104778022A (zh) | 一种数据处理方法及电子设备 | |
CN107077375A (zh) | 用于多操作系统的显示方法、装置和电子设备 | |
CN101937360B (zh) | 一种创建虚拟机的方法和装置 | |
CN105787986A (zh) | 一种三维图形渲染的方法和装置 | |
CN102880382B (zh) | 一种界面展示系统、方法和设备 | |
CN102929636A (zh) | 一种人机交互界面创建方法和装置 | |
CN101452649B (zh) | 一种基于真实组网环境的虚拟组网实验平台的构建方法 | |
CN105975169A (zh) | 一种3d空间的文本显示方法及其装置 | |
CN102334099A (zh) | 在bs架构下的参数配置的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |