VR制造技术

技术编号:39521336 阅读:6 留言:0更新日期:2023-11-25 19:00
一种

【技术实现步骤摘要】
VR多显卡渲染方法及系统


[0001]本专利技术涉及一种
VR
多显卡渲染方法及系统


技术介绍

[0002]随着云渲染在
VR
中的应用,
VR
的效果需求也越来越高,由于
VR
的渲染是对两个相机画面进行渲染,需要渲染两幅画面,而
VR
的显示要求较高,通常需要达到
2k
分辨率,且达到单眼
90fps
,因此给
VR
渲染提出了极高的要求

在相关技术中,采用多显卡的方式,为每个相机分配一个显卡

由于
VR
图像同一帧需要同步显示,
CPU
需等待不同显卡的渲染结果均返回后再发送到客户端,当一个显卡处理速度慢时,
CPU
只能进行等待,从而造成
CPU
和其他显卡的空闲,降低了处理效率

[0003]中国专利文献
CN103927780B
公开了一种多显卡渲染的方法:三维显示系统根据与多个显卡设备的连接信息进行计算得到相机分割投影矩阵,根据相机投影分割矩阵将三维场景分割成多个从相机进行渲染,每个从相机与一个显卡设备相对应,将每个从相机对应的三维场景数据发送到其对应的显卡设备上进行渲染,这样使得多个显卡设备可以同时对三维场景的不同区域进行独立渲染并显示

相关技术中,多个显卡负责处理不同相机的对应场景的渲染,也会存在当一个显卡处理速度慢时,
CPU
只能进行等待,从而造成
CPU
和其他显卡的空闲,降低了处理效率的问题


技术实现思路

[0004]本专利技术要解决相关技术中存在的上述问题,提高
VR
渲染的效率

[0005]针对上述存在的局限性,本专利技术提出了一种
VR
多显卡渲染方法及系统

[0006]一种
VR
多显卡渲染方法,包括以下步骤:
[0007]步骤
S101
:设定初始的窗口容量值为
n

n
为正整数;
[0008]步骤
S102

CPU
将接收到的1个画面帧的渲染任务进行分割,分割为第一相机渲染任务和第二相机渲染任务;
[0009]步骤
S103

CPU
将所述第一相机渲染任务或所述第二相机渲染任务,发送给第一显卡,或第二显卡进行渲染处理;
[0010]CPU
每发送1个画面帧的渲染任务,所述窗口容量值减1;当同一个画面帧的第一相机渲染任务和第二相机渲染任务均渲染完成并返回渲染结果时,
CPU
将其串流到客户端,所述窗口容量值加1;
[0011]当所述窗口容量值大于0时,重复步骤
S102

S103
;当所述窗口容量值等于0时,
CPU
进行等待

[0012]进一步地:在所述第一显卡上划分存储空间,所述第一显卡将其渲染结果存储于所述存储空间;
[0013]所述
CPU
接收到所述第二显卡返回的渲染结果时,将其存储于所述存储空间

[0014]进一步地:在
CPU
上划分存储空间;所述存储空间的容量为
2n
;所述存储空间设置
于所述
CPU
的内存;
[0015]当
CPU
接收到所述第一显卡或第二显卡渲染完成返回的所述渲染结果时,
CPU
将所述渲染结果存储在所述存储空间

[0016]进一步地:所述存储空间的容量为
2n
;所述存储空间设置于内存;
[0017]当
CPU
接收到所述第一显卡或第二显卡渲染完成返回的所述渲染结果时,
CPU
将所述渲染结果存储在所述存储空间

[0018]进一步地:在步骤
S103
中,将所述第一相机渲染任务发送给所述第一显卡;将所述第二相机渲染任务发送给所述第二显卡;
[0019]所述
CPU
使用主线程执行
VR
游戏逻辑,使用工作线程从所述第一显卡或所述第二显卡回读所述渲染结果

[0020]进一步地:所述
n
的取值范围为2‑
4。
[0021]一种
VR
多显卡渲染系统,用于实现如上述所述的方法,包括:
[0022]任务分割单元:将画面帧的渲染任务分割为第一相机渲染任务和第二相机渲染任务;
[0023]渲染单元,渲染所述第一相机渲染任务或第二相机渲染任务,获得渲染结果;
[0024]存储单元:存储返回的所述渲染结果;
[0025]输出单元,将所述渲染结果串流至客户端

[0026]进一步地:还包括:回读单元,回读所述渲染单元的所述渲染结果并存储在所述存储单元

[0027]进一步地:所述渲染单元通过渲染硬件层接口封装的图形
API
识别显卡,在所述显卡上创建逻辑设备进行所述渲染;所述显卡为多个

[0028]进一步地:所述渲染单元根据所述显卡的负载,向所述显卡分配所述第一相机渲染任务或第二相机渲染任务

[0029]进一步地:所述图形
API
包括:
Vulkan、DirectX 12、Metal、WebGPU。
[0030]与相关技术相对比,本专利技术具有以下优点:
[0031]本专利技术一个专利技术点的
VR
多显卡渲染方法,通过设置窗口容量对
CPU
处理和将渲染任务发送给显卡的方式进行控制,从而使
CPU
在处理中不必每次等待显卡返回结果,继续进行处理,从而提高了渲染的效率,同时
CPU
发送的渲染任务数量不会超越显卡的处理能力,保证了渲染任务的良好运转

[0032]本专利技术一个专利技术点的
VR
多显卡渲染系统,由于具备了实现上述方法的任务分割单元

渲染单元

存储单元

输出单元,从而可以实现上述方法,具有上述相同的优点,从而提高
VR
渲染的处理效率

[0033]本专利技术一个专利技术点的计算机可读存储介质,存储有运行时执行如上述的方法的可执行程序代码,因而也具有上述相同的优点,从而提高
VR
渲染的处理效率

附图说明
[0034]图1为本专利技术一个实施例的
VR
多显卡本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种
VR
多显卡渲染方法,其特征在于:包括以下步骤:步骤
S101
:设定初始的窗口容量值为
n

n
为正整数;步骤
S102

CPU
将接收到的1个画面帧的渲染任务进行分割,分割为第一相机渲染任务和第二相机渲染任务;步骤
S103

CPU
将所述第一相机渲染任务或所述第二相机渲染任务,发送给第一显卡或第二显卡进行渲染处理;
CPU
每发送1个画面帧的渲染任务,所述窗口容量值减1;当同一个画面帧的第一相机渲染任务和第二相机渲染任务均渲染完成并返回渲染结果时,
CPU
将其串流到客户端,所述窗口容量值加1;当所述窗口容量值大于0时,重复步骤
S102

S103
;当所述窗口容量值等于0时,
CPU
进行等待
。2.
如权利要求1所述的方法,其特征在于:在所述第一显卡上划分存储空间,所述第一显卡将其渲染结果存储于所述存储空间;所述
CPU
接收到所述第二显卡返回的渲染结果时,将其存储于所述存储空间
。3.
如权利要求1所述的方法,其特征在于:在所述
CPU
上划分存储空间;所述存储空间的容量为
2n
;所述存储空间设置于所述
CPU
的内存;当所述
CPU
接收到所述第一显卡或所述第二显卡返回的所述渲染结果时,所述
CPU
将所...

【专利技术属性】
技术研发人员:郭少涛王峥郭建君
申请(专利权)人:北京蔚领时代科技有限公司
类型:发明
国别省市:

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

1