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

技术编号:16428912 阅读:37 留言:0更新日期:2017-10-22 01:08
本发明专利技术公开了一种基于实时离线渲染并行的多优先级队列调度方法,涉及3D渲染技术领域。该方法包括步骤:S1、检测渲染任务的渲染请求类型是否为实时渲染请求还是离线渲染请求;S2、如果为实时渲染请求,则检测当前渲染资源的状态是否为繁忙还是空闲并提示用户选择离线渲染或实时渲染,如果为离线渲染请求,则不进行渲染资源的状态检测;S3、接收渲染任务和该渲染任务的渲染优先级判断信息;S4、判断用户渲染任务的优先级,并存入对应的优先级队列;S5、根据优先级由高到低获取渲染任务进行渲染。本发明专利技术使用基于实时、离线渲染的多优先级任务调度方案,可根据用户需求及资源状态动态分配渲染任务的优先级,提升用户体验的同时,也提高了资源利用率。

A multi priority queue scheduling method based on real time offline rendering parallel

The invention discloses a multi priority queue scheduling method based on real-time offline rendering parallel, which relates to the field of 3D rendering technology. The method comprises the steps of: S1, detection of the rendering task rendering request type is real-time rendering request or off-line rendering request; S2, if the request for real-time rendering, then detect the current rendering resource status is busy or idle and prompts the user to select offline rendering or real-time rendering, if the request for off-line rendering, state detection is not rendering resource; rendering priority information to determine S3, receiving the rendering task and the rendering task; S4, determine the user rendering task priority, and stored in the corresponding priority queue; S5, according to the priority from high to low rendering for rendering tasks. The invention uses multi priority task scheduling scheme based on real-time and off-line rendering, according to user needs and resource dynamic allocation rendering task priority, to enhance the user experience at the same time, but also improve the utilization rate of resources.

【技术实现步骤摘要】
一种基于实时离线渲染并行的多优先级队列调度方法
本专利技术涉及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、初始本文档来自技高网...
一种基于实时离线渲染并行的多优先级队列调度方法

【技术保护点】
一种基于实时离线渲染并行的多优先级队列调度方法,其特征在于,所述方法包括以下步骤:S1、检测渲染任务的渲染请求类型是否为实时渲染请求还是离线渲染请求;S2、如果为离线渲染请求,则置渲染任务数据中的离线标识offline为1,不进行渲染资源的状态检测,然后把处理后的渲染任务数据发送到任务接收方,如果为实时渲染请求,则检测当前渲染资源的状态是否为繁忙还是空闲并提示用户选择离线渲染或实时渲染,然后把处理后的渲染任务数据发送到任务接收方;S3、接收渲染任务和该渲染任务的渲染优先级判断信息;S4、判断用户渲染任务的优先级,并存入对应的优先级队列;S5、根据优先级由高到低获取渲染任务进行渲染。

【技术特征摘要】
1.一种基于实时离线渲染并行的多优先级队列调度方法,其特征在于,所述方法包括以下步骤:S1、检测渲染任务的渲染请求类型是否为实时渲染请求还是离线渲染请求;S2、如果为离线渲染请求,则置渲染任务数据中的离线标识offline为1,不进行渲染资源的状态检测,然后把处理后的渲染任务数据发送到任务接收方,如果为实时渲染请求,则检测当前渲染资源的状态是否为繁忙还是空闲并提示用户选择离线渲染或实时渲染,然后把处理后的渲染任务数据发送到任务接收方;S3、接收渲染任务和该渲染任务的渲染优先级判断信息;S4、判断用户渲染任务的优先级,并存入对应的优先级队列;S5、根据优先级由高到低获取渲染任务进行渲染。2.根据权利要求1所述的基于实时离线渲染并行的多优先级队列调度方法,其特征在于,在执行所述步骤S1前,还包括步骤:S0、进行前期数据准备,数据准备完成后发起渲染任务请求。3.根据权利要求2所述的基于实时离线渲染并行的多优先级队列调度方法,其特征在于,在步骤S2中,检测当前资源的繁忙或空闲状态包括步骤:S21、发送渲染资源的状态检测请求,接收该状态检测请求并统计当前空闲的渲染资源数量,当空闲的渲染资源的数量大于0时,返回空闲状态给状态检测请求的发送方,当空闲的渲染资源等于0时,返回繁忙状态给状态检测请求的发送方。4.根据权利要求3所述的基于实时离线渲染并行的多优先级队列调度方法,其特征在于,在步骤S21之前还包括步骤:S211、初始化所有的渲染机器资源,默认所有渲染机器资源为空闲,并保存当前所有的渲染机器的该空闲状态;S212、当渲染机器获得渲染任务后,把该渲染机器的状态设置为繁忙状态,并保存该渲染机器的繁忙状态。5.根据权利要求1所述的基于实时离线渲染并行的多优先级队列调度方法,其特征在于,在步骤S2中,提示用户选择离线渲染或实时渲染的步骤包括:S22、返回的如果为繁忙状态,则提示用户当前渲染资源繁忙,可以进行离线渲染的方式进行任务处理,如果用户选择离线渲染,则把渲染任务数据中的离线渲染标识offline修改为1,如果用户继续渲染实时渲染,则渲染任务数据不做处理;返回的如果为空闲状态,则渲染任务数据不做处理。6.根据权利要求2所...

【专利技术属性】
技术研发人员:颜强华鲁四喜胡少雄胡鹏王国彬
申请(专利权)人:深圳市彬讯科技有限公司
类型:发明
国别省市:广东,44

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

1