一种基于实时离线渲染并行的多优先级队列调度方法与流程

文档序号:11775876阅读:715来源:国知局

本发明涉及3d渲染技术领域,尤其涉及一种基于实时离线渲染并行的多优先级队列调度方法。



背景技术:

当前伴随虚拟现实技术的高速发展,产生大量基于虚拟现实相关的计算任务。在虚拟家装行业,产生了大量使用虚拟现实技术实现所见即所得的3d家装设计软件。随之产生大量的图像渲染任务需求,但是大量的渲染需求并不会平均分布到不同时间段,由此产生了大量渲染用户等待的情况。当前市面上此类软件都没有分不同优先级进行任务处理,而是采用先来先渲染的实现方案,造成很差的用户体验。



技术实现要素:

为解决上述的技术问题,本发明提供了一种基于实时离线渲染并行的多优先级队列调度方法,本发明提出的方法解决了现有技术下渲染资源浪费,渲染体验差的问题。

本发明实现上述技术效果所采用的技术方案是:

一种基于实时离线渲染并行的多优先级队列调度方法,所述方法包括以下步骤:

s1、检测渲染任务的渲染请求类型是否为实时渲染请求还是离线渲染请求;

s2、如果为离线渲染请求,则置渲染任务数据中的离线标识offline为1,不进行渲染资源的状态检测,然后把处理后的渲染任务数据发送到任务接收方,如果为实时渲染请求,则检测当前渲染资源的状态是否为繁忙还是空闲并提示用户选择离线渲染或实时渲染,然后把处理后的渲染任务数据发送到任务接收方;

s3、接收渲染任务和该渲染任务的渲染优先级判断信息;

s4、判断用户渲染任务的优先级,并存入对应的优先级队列;

s5、根据优先级由高到低获取渲染任务进行渲染。

进一步地,在所述的基于实时离线渲染并行的多优先级队列调度方法中,在执行所述步骤s1前,还包括步骤:

s0、进行前期数据准备,数据准备完成后发起渲染任务请求。

进一步地,在所述的基于实时离线渲染并行的多优先级队列调度方法中,在步骤s2中,检测当前资源的繁忙或空闲状态包括步骤:

s21、发送渲染资源的状态检测请求,接收该状态检测请求并统计当前空闲的渲染资源数量,当空闲的渲染资源的数量大于0时,返回空闲状态给状态检测请求的发送方,当空闲的渲染资源等于0时,返回繁忙状态给状态检测请求的发送方。

进一步地,在所述的基于实时离线渲染并行的多优先级队列调度方法中,在步骤s21之前还包括步骤:

s211、初始化所有的渲染机器资源,默认所有渲染机器资源为空闲,并保存当前所有的渲染机器的该空闲状态;

s212、当渲染机器获得渲染任务后,把该渲染机器的状态设置为繁忙状态,并保存该渲染机器的繁忙状态。

进一步地,在所述的基于实时离线渲染并行的多优先级队列调度方法中,在步骤s2中,提示用户选择离线渲染或实时渲染的步骤包括:

s22、返回的如果为繁忙状态,则提示用户当前渲染资源繁忙,可以进行离线渲染的方式进行任务处理,如果用户选择离线渲染,则把渲染任务数据中的离线渲染标识offline修改为1,如果用户继续渲染实时渲染,则渲染任务数据不做处理;

返回的如果为空闲状态,则渲染任务数据不做处理。

进一步地,在所述的基于实时离线渲染并行的多优先级队列调度方法中,在步骤s0中,发起渲染任务请求前准备的前期数据包括房屋户型绘制完成后获得的具象化的户型数据:房屋户型结构、模型摆放、吊顶摆放、灯光强度和颜色的调节。

进一步地,在所述的基于实时离线渲染并行的多优先级队列调度方法中,渲染任务的数据包括:户型结构数据、模型数据、吊顶数据、灯光信息数据和离线渲染标识offline,所述离线渲染标识offline默认为0,标识为非离线。

进一步地,在所述的基于实时离线渲染并行的多优先级队列调度方法中,在步骤s3中,进行渲染优先级判断的用户信息有:用户类型type,用户等级level。

进一步地,在所述的基于实时离线渲染并行的多优先级队列调度方法中,在步骤s4中,接收到渲染任务的数据后,判断该渲染任务的优先级的参考值是:用户类型type、用户等级level和离线标识offline。

进一步地,在所述的基于实时离线渲染并行的多优先级队列调度方法中,优先级队列的生成规则为:

s41、先检测离线标识offline;

s42、如果离线标识offline等于1,则把该渲染任务放到最低优先级队列quene_offline;

s43、如果离线标识offline为0,则根据用户类型type和用户等级level进行渲染队列优先级判断,其中,用户类型type有值0和1,用户等级level有值0和1,优先级队列格式为:quene_type_level,按优先级顺序排列分别是:quene_0_0、quene_0_1、quene_1_0和quene_1_1。

进一步地,在所述的基于实时离线渲染并行的多优先级队列调度方法中,根据渲染资源状态、用户需求综合判断,可取得了5个渲染任务优先级队列,按优先级顺序排列分别是:quene_0_0、quene_0_1、quene_1_0、quene_1_1、quene_offline。

进一步地,在所述的基于实时离线渲染并行的多优先级队列调度方法中,所述优先级队列根据渲染需求和用户需求设置有可扩展属性,用于扩展优先级队列的优先级类别。

本发明的有益效果是:本发明使用基于实时、离线渲染的多优先级任务调度方案,可根据用户需求及资源状态动态地分配渲染任务的优先级,提升用户体验的同时,提供资源利用率。

附图说明

图1为本发明的流程图。

具体实施方式

为了对本发明作出更加清楚完整地说明,下面结合附图和本发明的具体实施例对本发明的技术方案作出进一步说明。

首先,对本发明涉及的两个专业术语作出解释说明,其中,实时渲染任务是指用户对渲染时间的要求高,需要在最短时间内进行渲染的任务。离线渲染任务是指用户对渲染时间的要求低,可以在渲染机器资源状态空闲后进行渲染的任务。

具体技术方案结合图1所示,本发明提出的一种基于实时离线渲染并行的多优先级队列调度方法,所述方法包括以下步骤:

s1、检测渲染任务的渲染请求类型是否为实时渲染请求还是离线渲染请求。

s2、如果为离线渲染请求,则置渲染任务数据中的离线标识offline为1,不进行渲染资源的状态检测,然后把处理后的渲染任务数据发送到任务接收方。如果为实时渲染请求,则检测当前渲染资源的状态是否为繁忙还是空闲。当前渲染资源为繁忙,则提示用户选择离线渲染,以避开渲染处理的高峰期,等待渲染资源空闲再处理。当前渲染资源为空闲,则提示用户选择实时渲染,然后把处理后的渲染任务数据发送到任务接收方。

s3、接收渲染任务和该渲染任务的渲染优先级判断信息。

s4、判断用户渲染任务的优先级,并存入对应的优先级队列。

s5、根据优先级由高到低获取渲染任务进行渲染。

进一步地,在所述的基于实时离线渲染并行的多优先级队列调度方法中,在执行所述步骤s1前,还包括步骤:

s0、进行前期数据准备,数据准备完成后发起渲染任务请求。

进一步地,在所述的基于实时离线渲染并行的多优先级队列调度方法中,在步骤s2中,检测当前资源的繁忙或空闲状态包括步骤:

s21、发送渲染资源的状态检测请求,接收该状态检测请求并统计当前空闲的渲染资源数量,当空闲的渲染资源的数量大于0时,返回空闲状态给状态检测请求的发送方,当空闲的渲染资源等于0时,返回繁忙状态给状态检测请求的发送方。

进一步地,在所述的基于实时离线渲染并行的多优先级队列调度方法中,在步骤s21之前还包括步骤:

s211、初始化所有的渲染机器资源,默认所有渲染机器资源为空闲,并保存当前所有的渲染机器的该空闲状态;

s212、当渲染机器获得渲染任务后,把该渲染机器的状态设置为繁忙状态,并保存该渲染机器的繁忙状态。

进一步地,在所述的基于实时离线渲染并行的多优先级队列调度方法中,在步骤s2中,提示用户选择离线渲染或实时渲染的步骤包括:

s22、返回的如果为繁忙状态,则提示用户当前渲染资源繁忙,可以进行离线渲染的方式进行任务处理,如果用户选择离线渲染,则把渲染任务数据中的离线渲染标识offline修改为1,如果用户继续渲染实时渲染,则渲染任务数据不做处理;

返回的如果为空闲状态,则渲染任务数据不做处理。

进一步地,在所述的基于实时离线渲染并行的多优先级队列调度方法中,在步骤s0中,发起渲染任务请求前准备的前期数据包括房屋户型绘制完成后获得的具象化的户型数据:房屋户型结构、模型摆放、吊顶摆放、灯光强度和颜色的调节。

进一步地,在所述的基于实时离线渲染并行的多优先级队列调度方法中,渲染任务的数据包括:户型结构数据、模型数据、吊顶数据、灯光信息数据和离线渲染标识offline,所述离线渲染标识offline默认为0,标识为非离线。

进一步地,在所述的基于实时离线渲染并行的多优先级队列调度方法中,在步骤s3中,进行渲染优先级判断的用户信息有:用户类型type,用户等级level。

进一步地,在所述的基于实时离线渲染并行的多优先级队列调度方法中,在步骤s4中,接收到渲染任务的数据后,判断该渲染任务的优先级的参考值是:用户类型type、用户等级level和离线标识offline。

进一步地,在所述的基于实时离线渲染并行的多优先级队列调度方法中,优先级队列的生成规则为:

s41、先检测离线标识offline;

s42、如果离线标识offline等于1,则把该渲染任务放到最低优先级队列quene_offline;

s43、如果离线标识offline为0,则根据用户类型type和用户等级level进行渲染队列优先级判断,其中,用户类型type有值0和1,用户等级level有值0和1,优先级队列格式为:quene_type_level,按优先级顺序排列分别是:quene_0_0、quene_0_1、quene_1_0和quene_1_1。

进一步地,在所述的基于实时离线渲染并行的多优先级队列调度方法中,根据渲染资源状态、用户需求综合判断,可取得了5个渲染任务优先级队列,按优先级顺序排列分别是:quene_0_0、quene_0_1、quene_1_0、quene_1_1、quene_offline。

进一步地,在所述的基于实时离线渲染并行的多优先级队列调度方法中,所述优先级队列根据渲染需求和用户需求设置有可扩展属性,用于扩展优先级队列的优先级类别。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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