一种用于处理web3D场景的方法和装置制造方法及图纸

技术编号:38491611 阅读:10 留言:0更新日期:2023-08-15 17:04
本发明专利技术公开了一种用于处理web3D场景的方法和装置,包括:根据web3D场景中各场景对象的模型文件,确定各场景对象的模型渲染用时,根据模型渲染用时,对场景对象的模型文件进行线程分配,得到web3D场景对应的多个模型渲染子线程;根据web3D场景中每一模型渲染子线程的渲染用时,将模型渲染子线程分配到渲染队列中;根据渲染队列中模型渲染子线程的执行逻辑顺序确定渲染队列的渲染优先级;根据渲染优先级和模型渲染子线程的渲染用时,确定每一渲染队列的目标线程和每一目标线程的并发渲染时刻;根据每一模型渲染子线程的模型文件,在多个并发渲染时刻通过目标线程在多个并发线程中进行并发渲染,得到web3D场景模型。得到web3D场景模型。得到web3D场景模型。

【技术实现步骤摘要】
一种用于处理web3D场景的方法和装置


[0001]本专利技术涉及计算机
,具体为一种用于处理web3D场景的方法和装置。

技术介绍

[0002]随着移动增强现实和虚拟现实技术的出现,移动设备上的3D应用在5G通信发展的背景下取得了巨大的成功。3D场景模型交互是一种新的信息交互方式,其相比于2D场景模型具有更直观、更高效优势。然而,由于3D场景模型都是基于最新的浏览器进行设计,导致部分低性能的浏览器在更新渲染过程中,由于内核性能等原因,渲染更新较慢,并且存在卡死的风险较高。

技术实现思路

[0003]针对现有技术中在主线程中对场景模型进行操作,导致模型的性能下降,帧数降低的技术问题,本专利技术提供了一种用于处理web3D场景的方法和装置。
[0004]为实现以上目的,本专利技术通过以下技术方案予以实现:
[0005]本专利技术实施例的第一方面,提供一种用于处理web3D场景的方法和装置,应用于Web前端,所述方法包括:
[0006]根据所述web3D场景中各场景对象的模型文件,确定各所述场景对象的模型渲染用时,并根据所述模型渲染用时,对对应的所述场景对象的模型文件进行线程分配,得到所述web3D场景对应的多个模型渲染子线程;
[0007]根据所述web3D场景中每一所述模型渲染子线程的渲染用时,将所述模型渲染子线程分配到渲染队列中,其中,渲染用时相同的模型渲染子线程分配到同一个所述渲染队列中;
[0008]根据所述渲染队列中所述模型渲染子线程的执行逻辑顺序,确定所述渲染队列的渲染优先级;
[0009]根据所述渲染队列的渲染优先级以及模型渲染子线程的渲染用时,确定每一所述渲染队列的目标线程以及每一所述目标线程的并发渲染时刻;
[0010]根据每一所述模型渲染子线程对应的模型文件,在多个所述并发渲染时刻分别通过所述目标线程在多个并发线程中进行并发渲染,得到web3D场景模型。
[0011]在一个优选的实施例中,所述根据所述渲染队列的渲染优先级以及模型渲染子线程的渲染用时,确定每一所述渲染队列的目标线程以及每一所述目标线程的并发渲染时刻,包括:
[0012]根据所述模型渲染子线程的渲染用时,从所述Web前端的中央处理器的并发体对应的多个并发线程中确定每一所述渲染队列的目标线程,其中,所述目标线程的计算资源满足所述渲染队列中任意所述模型渲染子线程的渲染计算要求;
[0013]根据所述渲染优先级以及所述模型渲染子线程的渲染用时,确定每一所述目标线程的并发渲染时刻。
[0014]在一个优选的实施例中,所述根据所述渲染优先级以及所述模型渲染子线程的渲染用时,确定每一所述目标线程的并发渲染时刻,包括:
[0015]根据所述渲染优先级以及所述模型渲染子线程的渲染用时,通过如下公式确定每一所述目标线程的并发渲染时刻:
[0016]RB
i+1
>RB
i
×
n
i
/n*(1

t
i
/t
i+1
)+P
I
[0017]其中,RB
i+1
和RB
i
分别为第i+1个和第i个渲染队列的并发渲染时刻,其中,i取值越小,渲染优先级越高,n为所述渲染队列的总个数,n
i
*为所述渲染队列的渲染优先级,t
i
和t
i+1
分别为第i+1个和第i个渲染队列内模型渲染子线程的渲染用时,P
I
表示相邻渲染优先级渲染队列的之间的预设时间间隔。
[0018]在一个优选的实施例中,所述根据所述渲染队列中所述模型渲染子线程的执行逻辑顺序,确定所述渲染队列的渲染优先级,包括:
[0019]确定每一所述渲染队列中执行逻辑顺序最先的所述模型渲染子线程为目标模型渲染子线程;
[0020]比较各所述渲染队列中所述目标模型渲染子线程的执行逻辑顺序;
[0021]按照所述目标模型渲染子线程的执行逻辑顺序,确定所述渲染队列的渲染优先级,其中,执行逻辑顺序在前的目标模型渲染子线程对应的渲染队列的渲染优先级,高于执行逻辑顺序在后的目标模型渲染子线程对应的渲染队列的渲染优先级。
[0022]在一个优选的实施例中,所述根据所述模型渲染用时,对对应的所述场景对象的模型文件进行线程分配,得到所述web3D场景对应的多个模型渲染子线程,包括:
[0023]确定各所述场景对象的所述模型渲染用时是否大于预设时长阈值;
[0024]对所述模型渲染用时大于预设时长阈值的目标场景对象对应的模型文件按照对象单位进行分割,得到所述目标场景对象对应的多个模型子文件,其中,每一所述模型子文件对应的模型渲染用时小于或者等于所述预设时长阈值;
[0025]对所述模型渲染用时小于或者等于所述预设时长阈值的场景对象对应的模型文件,和/或多个所述模型子文件进行线程分配,得到所述web3D场景对应的多个模型渲染子线程。
[0026]在一个优选的实施例中,在所述确定各所述场景对象的所述模型渲染用时是否大于预设时长阈值之前,包括:
[0027]确定多个CPU根据各所述场景对象的模型文件进行渲染时的核间负载差值和核间通信总量;
[0028]根据所述核间负载差值和所述核间通信总量,建立CPU之间的渲染任务分配目标函数并求解,得到每一所述CPU的最小耗费计算资源;
[0029]根据所述最小耗费计算资源,建立线程分割目标函数并求解,确定各所述场景对象的所述模型渲染用时。
[0030]本专利技术实施例的第二方面,提供一种用于处理web3D场景的装置,应用于Web前端,所述装置包括:
[0031]第一确定模块,被配置为根据所述web3D场景中各场景对象的模型文件,确定各所述场景对象的模型渲染用时,并根据所述模型渲染用时,对对应的所述场景对象的模型文件进行线程分配,得到所述web3D场景对应的多个模型渲染子线程;
[0032]分配模块,被配置为根据所述web3D场景中每一所述模型渲染子线程的渲染用时,将所述模型渲染子线程分配到渲染队列中,其中,渲染用时相同的模型渲染子线程分配到同一个所述渲染队列中;
[0033]第二确定模块,被配置为根据所述渲染队列中所述模型渲染子线程的执行逻辑顺序,确定所述渲染队列的渲染优先级;
[0034]第三确定模块,被配置为根据所述渲染队列的渲染优先级以及模型渲染子线程的渲染用时,确定每一所述渲染队列的目标线程以及每一所述目标线程的并发渲染时刻;
[0035]渲染模块,被配置为根据每一所述模型渲染子线程对应的模型文件,在多个所述并发渲染时刻分别通过所述目标线程在多个并发线程中进行并发渲染,得到web3D场景模型。
[0036]在一个优选的实施例中,所述第三确定模块,包括:
[0037]第一确定子模块,被配置为根据所述模型渲染子线程的渲染用时,从所述Web前本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于处理web3D场景的方法,其特征在于,应用于Web前端,所述方法包括:根据所述web3D场景中各场景对象的模型文件,确定各所述场景对象的模型渲染用时,并根据所述模型渲染用时,对对应的所述场景对象的模型文件进行线程分配,得到所述web3D场景对应的多个模型渲染子线程;根据所述web3D场景中每一所述模型渲染子线程的渲染用时,将所述模型渲染子线程分配到渲染队列中,其中,渲染用时相同的模型渲染子线程分配到同一个所述渲染队列中;根据所述渲染队列中所述模型渲染子线程的执行逻辑顺序,确定所述渲染队列的渲染优先级;根据所述渲染队列的渲染优先级以及模型渲染子线程的渲染用时,确定每一所述渲染队列的目标线程以及每一所述目标线程的并发渲染时刻;根据每一所述模型渲染子线程对应的模型文件,在多个所述并发渲染时刻分别通过所述目标线程在多个并发线程中进行并发渲染,得到web3D场景模型。2.根据权利要求1所述的方法,其特征在于,所述根据所述渲染队列的渲染优先级以及模型渲染子线程的渲染用时,确定每一所述渲染队列的目标线程以及每一所述目标线程的并发渲染时刻,包括:根据所述模型渲染子线程的渲染用时,从所述Web前端的中央处理器的并发体对应的多个并发线程中确定每一所述渲染队列的目标线程,其中,所述目标线程的计算资源满足所述渲染队列中任意所述模型渲染子线程的渲染计算要求;根据所述渲染优先级以及所述模型渲染子线程的渲染用时,确定每一所述目标线程的并发渲染时刻。3.根据权利要求2所述的方法,其特征在于,所述根据所述渲染优先级以及所述模型渲染子线程的渲染用时,确定每一所述目标线程的并发渲染时刻,包括:根据所述渲染优先级以及所述模型渲染子线程的渲染用时,通过如下公式确定每一所述目标线程的并发渲染时刻:RB
i+1
>RB
i
×
n
i
/n*(1

t
i
/t
i+1
)+P
I
其中,RB
i+1
和RB
i
分别为第i+1个和第i个渲染队列的并发渲染时刻,其中,i取值越小,渲染优先级越高,n为所述渲染队列的总个数,n
i
*为所述渲染队列的渲染优先级,t
i
和t
i+1
分别为第i+1个和第i个渲染队列内模型渲染子线程的渲染用时,P
I
表示相邻渲染优先级渲染队列的之间的预设时间间隔。4.根据权利要求1所述的方法,其特征在于,所述根据所述渲染队列中所述模型渲染子线程的执行逻辑顺序,确定所述渲染队列的渲染优先级,包括:确定每一所述渲染队列中执行逻辑顺序最先的所述模型渲染子线程为目标模型渲染子线程;比较各所述渲染队列中所述目标模型渲染子线程的执行逻辑顺序;按照所述目标模型渲染子线程的执行逻辑顺序,确定所述渲染队列的渲染优先级,其中,执行逻辑顺序在前的目标模型渲染子线程对应的渲染队列的渲染优先级,高于执行逻辑顺序在后的目标模型渲染子线程对应的渲染队列的渲染优先级。5.根据权利要求1所述的方法,其特征在于,所述根据所述模型渲染用时,对对应的所述场景对象的模型文件进行线程分配,得到所述web3D场景对应的多个模型渲染子线程,包
括:确定各所述场景对象的所述模型渲染用时是否大于预设时长阈值;对所述模型渲染用时大于预设时长阈值的目标场景对象对应的模型文件按照对象单位进行分割,得到所述目标场景对象对应的多个模型子文件,其中,每一所述模型子文件对应的模型渲染用时小于或者等于所述预设时长阈值;对所述模型渲染用时小于或者等...

【专利技术属性】
技术研发人员:刘宏斌范孟硕何志伟
申请(专利权)人:青岛慧睦科技有限责任公司
类型:发明
国别省市:

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

1