CPU与GPU的异步渲染方法、装置、设备及存储介质制造方法及图纸

技术编号:37123936 阅读:19 留言:0更新日期:2023-04-01 05:20
本申请公开了一种CPU与GPU的异步渲染方法、装置、设备及存储介质,属于计算机技术领域。所述方法包括:获取待渲染内容的数据;在渲染待渲染内容的过程中,通过CPU处理待渲染内容中第n帧的数据,得到第n帧的渲染准备数据;以及根据第n帧的渲染准备数据生成第n帧的渲染指令;响应于CPU生成第n帧的渲染指令,通过GPU根据第n帧的渲染指令渲染第n帧;响应于CPU生成第n帧的渲染指令,通过CPU处理待渲染内容中第n+1帧的数据,得到第n+1帧的渲染准备数据;以及根据第n+1帧的渲染准备数据生成第n+1帧的渲染指令。通过CPU和GPU并行执行渲染相关的任务,实现了在渲染过程中对计算资源的充分利用。利用。利用。

【技术实现步骤摘要】
CPU与GPU的异步渲染方法、装置、设备及存储介质


[0001]本申请涉及计算机
,特别涉及一种CPU与GPU的异步渲染方法、装置、设备及存储介质。

技术介绍

[0002]图像的渲染是通过中央处理器(Central Processing Unit,CPU)和图形处理器(Graphics Processing Unit,GPU)协作完成的。通过CPU和GPU渲染多帧图像的过程,可分为三个阶段:(1)CPU对待渲染内容中待渲染帧的数据进行处理,得到待渲染帧的渲染准备数据;(2)CPU根据待渲染帧的渲染准备数据,生成待渲染帧的渲染指令,以指示GPU渲染该待渲染帧以及对待渲染帧的渲染准备数据进行渲染的方式;(3)GPU根据渲染指令渲染待渲染帧。
[0003]相关技术中,对连续多帧图像的渲染采用同步执行的方式。即CPU先准备当前帧的渲染准备数据,然后生成渲染指令,再提交给GPU渲染。在GPU完成当前帧的渲染后,再由CPU准备下一帧的渲染准备数据以及生成渲染指令,并由GPU渲染下一帧。之后循环执行上述流程,直至完成全部帧的渲染。
[0004]在通过上述方案进行连续多帧图像的渲染时,存在CPU会在一段时间内处于空闲状态,以及GPU会在一段时间内处于空闲状态的情况,导致计算资源无法被充分利用。

技术实现思路

[0005]本申请提供了一种CPU与GPU的异步渲染方法、装置、设备及存储介质,可以在渲染图像的过程中充分利用计算资源。所述技术方案如下:
[0006]根据本申请的一方面,提供了一种CPU与GPU的异步渲染方法,所述方法包括:
[0007]获取待渲染内容的数据;
[0008]在渲染所述待渲染内容的过程中,通过所述CPU处理所述待渲染内容中第n帧的数据,得到所述第n帧的渲染准备数据;以及根据所述第n帧的渲染准备数据生成所述第n帧的渲染指令,n为正整数;
[0009]响应于所述CPU生成所述第n帧的渲染指令,通过所述GPU根据所述第n帧的渲染指令渲染所述第n帧;
[0010]响应于所述CPU生成所述第n帧的渲染指令,通过所述CPU处理所述待渲染内容中第n+1帧的数据,得到所述第n+1帧的渲染准备数据;以及根据所述第n+1帧的渲染准备数据生成所述第n+1帧的渲染指令。
[0011]根据本申请的另一方面,提供了一种CPU与GPU的异步渲染装置,所述装置包括:
[0012]获取模块,用于获取待渲染内容的数据;
[0013]处理模块,用于在渲染所述待渲染内容的过程中,通过所述CPU处理所述待渲染内容中第n帧的数据,得到所述第n帧的渲染准备数据;以及根据所述第n帧的渲染准备数据生成所述第n帧的渲染指令,n为正整数;
[0014]渲染模块,用于响应于所述CPU生成所述第n帧的渲染指令,通过所述GPU根据所述第n帧的渲染指令渲染所述第n帧;
[0015]所述处理模块,用于响应于所述CPU生成所述第n帧的渲染指令,通过所述CPU处理所述待渲染内容中第n+1帧的数据,得到所述第n+1帧的渲染准备数据;以及根据所述第n+1帧的渲染准备数据生成所述第n+1帧的渲染指令。
[0016]在一个可选的设计中,通过所述CPU生成所述第n帧的渲染指令是在渲染所述待渲染内容的过程中的第i个时段进行的;
[0017]通过所述GPU渲染所述第n帧,以及通过所述CPU生成所述第n+1帧的渲染指令,是在渲染所述待渲染内容的过程中第i+1个时段进行的;
[0018]其中,所述第i+1个时段的时长与第一最大时长相关,所述第一最大时长是第一时长和第二时长中的最大值,所述第一时长是所述GPU渲染所述第n帧的时长,所述第二时长是所述CPU生成所述第n+1帧的渲染指令的时长,所述第i个时段和所述第i+1个时段连续,i为正整数。
[0019]在一个可选的设计中,所述CPU通过第一线程运行处理得到所述渲染准备数据的任务,所述CPU通过第二线程运行生成所述渲染指令的任务;所述处理模块,用于:
[0020]通过所述第一线程处理所述第n帧的数据,得到所述第n帧的渲染准备数据;
[0021]响应于所述第一线程处理得到所述第n帧的渲染准备数据,通过所述第二线程根据所述第n帧的渲染准备数据生成所述第n帧的渲染指令。
[0022]在一个可选的设计中,所述渲染模块,用于:
[0023]响应于所述第二线程生成所述第n帧的渲染指令,通过所述GPU根据所述第n帧的渲染指令渲染所述第n帧。
[0024]在一个可选的设计中,所述处理模块,用于:
[0025]响应于所述第一线程生成所述第n+1帧的渲染准备数据,且所述第二线程生成所述第n帧的渲染指令,通过所述第一线程处理所述待渲染内容中第n+2帧的数据,得到所述第n+2帧的渲染准备数据;
[0026]响应于所述第一线程生成所述第n+1帧的渲染准备数据,且所述第二线程生成所述第n帧的渲染指令,通过所述第二线程生成所述第n+1帧的渲染指令;
[0027]所述渲染模块,用于:
[0028]响应于所述第一线程生成所述第n+1帧的渲染准备数据,且所述第二线程生成所述第n帧的渲染指令,通过所述GPU根据所述第n帧的渲染指令渲染所述第n帧。
[0029]在一个可选的设计中,通过所述第一线程处理得到所述第n帧的渲染准备数据是在渲染所述待渲染内容的过程中的第m个时段进行的;
[0030]通过所述第一线程处理得到所述第n+1帧的渲染准备数据,以及通过所述第二线程生成所述第n帧的渲染指令是在渲染所述待渲染内容的过程中的第m+1个时段进行的;
[0031]通过所述第一线程处理得到所述第n+2帧的渲染准备数据,通过所述第二线程生成所述第n+1帧的渲染指令,以及通过所述GPU渲染所述第n帧是在渲染所述待渲染内容的过程中的第m+2个时段进行的;
[0032]其中,所述第m+2个时段的时长与第二最大时长相关,所述第二最大时长是第一时长、第三时长和第四时长中的最大值,所述第一时长是所述GPU渲染所述第n帧的时长,所述
第三时长是所述第二线程生成所述第n+1帧的渲染指令的时长,所述第四时长是所述第一线程处理得到所述第n+2帧的渲染准备数据的时长,所述第m个时段、所述第m+1个时段和所述第m+2个时段连续,m为正整数。
[0033]根据本申请的另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的CPU与GPU的异步渲染方法。
[0034]根据本申请的另一方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上方面所述的CPU与GPU的异步渲染方法。
[0035本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种中央处理器CPU与图形处理器GPU的异步渲染方法,其特征在于,所述方法包括:获取待渲染内容的数据;在渲染所述待渲染内容的过程中,通过所述CPU处理所述待渲染内容中第n帧的数据,得到所述第n帧的渲染准备数据;以及根据所述第n帧的渲染准备数据生成所述第n帧的渲染指令,n为正整数;响应于所述CPU生成所述第n帧的渲染指令,通过所述GPU根据所述第n帧的渲染指令渲染所述第n帧;响应于所述CPU生成所述第n帧的渲染指令,通过所述CPU处理所述待渲染内容中第n+1帧的数据,得到所述第n+1帧的渲染准备数据;以及根据所述第n+1帧的渲染准备数据生成所述第n+1帧的渲染指令。2.根据权利要求1所述的方法,其特征在于,通过所述CPU生成所述第n帧的渲染指令是在渲染所述待渲染内容的过程中的第i个时段进行的;通过所述GPU渲染所述第n帧,以及通过所述CPU生成所述第n+1帧的渲染指令,是在渲染所述待渲染内容的过程中第i+1个时段进行的;其中,所述第i+1个时段的时长与第一最大时长相关,所述第一最大时长是第一时长和第二时长中的最大值,所述第一时长是所述GPU渲染所述第n帧的时长,所述第二时长是所述CPU生成所述第n+1帧的渲染指令的时长,所述第i个时段和所述第i+1个时段连续,i为正整数。3.根据权利要求1所述的方法,其特征在于,所述CPU通过第一线程运行处理得到所述渲染准备数据的任务,所述CPU通过第二线程运行生成所述渲染指令的任务;所述通过CPU处理所述待渲染内容中第n帧的数据,得到所述第n帧的渲染准备数据;以及根据所述第n帧的渲染准备数据生成所述第n帧的渲染指令,包括:通过所述第一线程处理所述第n帧的数据,得到所述第n帧的渲染准备数据;响应于所述第一线程处理得到所述第n帧的渲染准备数据,通过所述第二线程根据所述第n帧的渲染准备数据生成所述第n帧的渲染指令。4.根据权利要求3所述的方法,其特征在于,所述响应于所述CPU生成所述第n帧的渲染指令,通过GPU根据所述第n帧的渲染指令渲染所述第n帧,包括:响应于所述第二线程生成所述第n帧的渲染指令,通过所述GPU根据所述第n帧的渲染指令渲染所述第n帧。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:响应于所述第一线程生成所述第n+1帧的渲染准备数据,且所述第二线程生成所述第n帧的渲染指令,通过所述第一线程处理所述待渲染内容中第n+2帧的数据,得到所述第n+2帧的渲染准备数据;所述响应于所述CPU生成所述第n帧的渲染指令,通过CPU根据所述第n+1帧的渲染准备数据生成所述第n+1帧的渲染指令,包括:响应于所述第一线程生成所述第n+1帧的渲染准备数据,且所述第二线程生成所述第n帧的渲染指令,通过所述第二线程生成所述第n+1帧的渲染指令;所述响应于所述第二线程生成所述第n帧...

【专利技术属性】
技术研发人员:党占威徐泽远方轶智叶佳伟杜双泓
申请(专利权)人:不鸣科技杭州有限公司
类型:发明
国别省市:

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

1