本发明涉及一种vr多显卡渲染方法及系统。
背景技术:
1、随着云渲染在vr中的应用,vr的效果需求也越来越高,由于vr的渲染是对两个相机画面进行渲染,需要渲染两幅画面,而vr的显示要求较高,通常需要达到2k分辨率,且达到单眼90fps,因此给vr渲染提出了极高的要求。在相关技术中,采用多显卡的方式,为每个相机分配一个显卡。由于vr图像同一帧需要同步显示,cpu需等待不同显卡的渲染结果均返回后再发送到客户端,当一个显卡处理速度慢时,cpu只能进行等待,从而造成cpu和其他显卡的空闲,降低了处理效率。
2、中国专利文献cn103927780b公开了一种多显卡渲染的方法:三维显示系统根据与多个显卡设备的连接信息进行计算得到相机分割投影矩阵,根据相机投影分割矩阵将三维场景分割成多个从相机进行渲染,每个从相机与一个显卡设备相对应,将每个从相机对应的三维场景数据发送到其对应的显卡设备上进行渲染,这样使得多个显卡设备可以同时对三维场景的不同区域进行独立渲染并显示。相关技术中,多个显卡负责处理不同相机的对应场景的渲染,也会存在当一个显卡处理速度慢时,cpu只能进行等待,从而造成cpu和其他显卡的空闲,降低了处理效率的问题。
技术实现思路
1、本发明要解决相关技术中存在的上述问题,提高vr渲染的效率。
2、针对上述存在的局限性,本发明提出了一种vr多显卡渲染方法及系统。
3、一种vr多显卡渲染方法,包括以下步骤:
4、步骤s101:设定初始的窗口容量值为n;n为正整数;
5、步骤s102:cpu将接收到的1个画面帧的渲染任务进行分割,分割为第一相机渲染任务和第二相机渲染任务;
6、步骤s103:cpu将所述第一相机渲染任务或所述第二相机渲染任务,发送给第一显卡,或第二显卡进行渲染处理;
7、cpu每发送1个画面帧的渲染任务,所述窗口容量值减1;当同一个画面帧的第一相机渲染任务和第二相机渲染任务均渲染完成并返回渲染结果时,cpu将其串流到客户端,所述窗口容量值加1;
8、当所述窗口容量值大于0时,重复步骤s102-s103;当所述窗口容量值等于0时,cpu进行等待。
9、进一步地:在所述第一显卡上划分存储空间,所述第一显卡将其渲染结果存储于所述存储空间;
10、所述cpu接收到所述第二显卡返回的渲染结果时,将其存储于所述存储空间。
11、进一步地:在cpu上划分存储空间;所述存储空间的容量为2n;所述存储空间设置于所述cpu的内存;
12、当cpu接收到所述第一显卡或第二显卡渲染完成返回的所述渲染结果时,cpu将所述渲染结果存储在所述存储空间。
13、进一步地:所述存储空间的容量为2n;所述存储空间设置于内存;
14、当cpu接收到所述第一显卡或第二显卡渲染完成返回的所述渲染结果时,cpu将所述渲染结果存储在所述存储空间。
15、进一步地:在步骤s103中,将所述第一相机渲染任务发送给所述第一显卡;将所述第二相机渲染任务发送给所述第二显卡;
16、所述cpu使用主线程执行vr游戏逻辑,使用工作线程从所述第一显卡或所述第二显卡回读所述渲染结果。
17、进一步地:所述n的取值范围为2-4。
18、一种vr多显卡渲染系统,用于实现如上述所述的方法,包括:
19、任务分割单元:将画面帧的渲染任务分割为第一相机渲染任务和第二相机渲染任务;
20、渲染单元,渲染所述第一相机渲染任务或第二相机渲染任务,获得渲染结果;
21、存储单元:存储返回的所述渲染结果;
22、输出单元,将所述渲染结果串流至客户端。
23、进一步地:还包括:回读单元,回读所述渲染单元的所述渲染结果并存储在所述存储单元。
24、进一步地:所述渲染单元通过渲染硬件层接口封装的图形api识别显卡,在所述显卡上创建逻辑设备进行所述渲染;所述显卡为多个。
25、进一步地:所述渲染单元根据所述显卡的负载,向所述显卡分配所述第一相机渲染任务或第二相机渲染任务。
26、进一步地:所述图形api包括:vulkan、directx 12、metal、webgpu。
27、与相关技术相对比,本发明具有以下优点:
28、本发明一个发明点的vr多显卡渲染方法,通过设置窗口容量对cpu处理和将渲染任务发送给显卡的方式进行控制,从而使cpu在处理中不必每次等待显卡返回结果,继续进行处理,从而提高了渲染的效率,同时cpu发送的渲染任务数量不会超越显卡的处理能力,保证了渲染任务的良好运转。
29、本发明一个发明点的vr多显卡渲染系统,由于具备了实现上述方法的任务分割单元、渲染单元、存储单元、输出单元,从而可以实现上述方法,具有上述相同的优点,从而提高vr渲染的处理效率。
30、本发明一个发明点的计算机可读存储介质,存储有运行时执行如上述的方法的可执行程序代码,因而也具有上述相同的优点,从而提高vr渲染的处理效率。
1.一种vr多显卡渲染方法,其特征在于:包括以下步骤:
2.如权利要求1所述的方法,其特征在于:
3.如权利要求1所述的方法,其特征在于:
4.如权利要求1所述的方法,其特征在于:
5.如权利要求1所述的方法,其特征在于:
6.一种vr多显卡渲染系统,其特征在于:用于实现如权利要求1-5任意一项所述的方法,包括:
7.如权利要求6所述的系统,其特征在于:还包括:
8.如权利要求6所述的系统,其特征在于:
9.如权利要求8所述的系统,其特征在于:
10.如权利要求8所述的系统,其特征在于: