【技术实现步骤摘要】
一种绘制命令处理方法及其相关设备
[0001]本申请涉及计算机领域,尤其涉及一种绘制命令处理方法及其相关设备。
技术介绍
[0002]OpenGL(open graphics library)是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口,应用于包含内容创作、能源、娱乐、游戏开发、制造业、制药业及虚拟现实等行业领域中,OpenGL可以帮助程序员实现在个人计算机(personal computer,PC)、工作站、超级计算机等硬件设备上实现高性能、高视觉表现力图形处理软件的开发。
[0003]OpenGL已成为游戏最常用的图形应用程序接口(application programming interface,API)之一,它被广泛用于图形处理器(graphics processing unit,GPU)的交互和硬件加速。随着硬件资源的发展,人们也发现了它的缺点,当前多核架构越来越普遍,而OpenGL只能提供有限的单线程负载,所以帧率、能耗都很难取得突破。Vulkan的出现很好的解决了这个问题,Vulk ...
【技术保护点】
【技术特征摘要】
1.一种绘制命令处理方法,所述方法应用于终端设备,所述终端设备包括图形处理器GPU,其特征在于,所述方法包括:获取M1个第一绘制命令,所述M1个第一绘制命令属于同一个渲染通道,且所述渲染通道还包括M2个第三绘制命令,所述M1和所述M2为正整数,所述M1个第一绘制命令和所述M2个第三绘制命令均为基于嵌入式系统开放图形库OpenGL实现的绘制命令;将所述M1个第一绘制命令转换为基于Vulkan实现的绘制命令,得到至少一个第二绘制命令,所述第二绘制指令为基于Vulkan实现的绘制命令;在完成所述M2个第三绘制命令向基于Vulkan实现的绘制命令的转换之前,将所述至少一个第二绘制命令提交至所述GPU,以便所述GPU执行绘制任务。2.根据权利要求1所述的方法,其特征在于,所述渲染通道包括依照预设次序排列的N个绘制命令,其中,所述预设次序用于表示绘制命令的被执行顺序,所述M1个第一绘制命令为所述N个绘制命令中排列前M1的绘制命令,所述N大于或等于所述M1和所述M2的和的正整数。3.根据权利要求2所述的方法,其特征在于,所述终端设备还包括:图像处理缓存器,所述方法还包括:将所述M1个第一绘制命令转换为基于Vulkan实现的绘制命令,得到至少一个第二绘制命令之后,将所述至少一个第二绘制命令存储至所述图像处理缓存器;所述在完成所述M2个第三绘制命令向基于Vulkan实现的绘制命令的转换之前,将所述至少一个第二绘制命令提交至所述GPU,包括:基于所述图像处理缓存器中存储的待提交的绘制命令满足第一预设条件,将所述至少一个第二绘制命令提交至所述GPU;其中,所述第一预设条件包括如下的至少一种:所述图像处理缓存器中待提交的绘制命令的数量达到所述M1;以及,所述图像处理缓存器中待提交的绘制命令所需绘制的顶点数量等于或超过预设值,其中,所述至少一个第二绘制命令所需绘制的顶点数量等于或超过所述预设值。4.根据权利要求1至3任一所述的方法,其特征在于,所述将所述至少一个第二绘制命令提交至所述GPU,包括:基于所述GPU满足第二预设条件,将所述至少一个第二绘制命令提交至所述GPU,所述第二预设条件包括如下的至少一种:所述GPU当前的负载小于预设值;以及,所述GPU当前的绘制帧率小于预设帧率。5.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:获取所述GPU当前的绘制帧率以及负载;根据所述绘制帧率以及负载,确定所述M1的大小,其中,在所述绘制帧率相同的情况下,所述负载越高,所述M1越大,在所述负载相同的情况下,所述绘制帧率越高,所述M1越大。6.根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括:将所述M2个第三绘制命令转换为基于Vulkan实现的绘制命令,得到至少一个第四绘制命令,所述第四绘制指令为基于Vulkan实现的绘制命令;将所述至少一个第四绘制命令提交至所述GPU,以便所述GPU执行绘制任务。7.一种绘制命令处理方法,所述方法应用于终端设备,所述终端设备包括图形处理器GPU,其特征在于,所述方法包括:
获取基于OpenGL实现的M个第一绘制命令,所述M个第一绘制命令属于第一渲染通道,并将所述M个第一绘制命令转换为基于Vulkan实现的绘制命令,得到至少一个第二绘制命令;获取基于OpenGL实现的N个第三绘制命令,所述N个第三绘制命令属于第二渲染通道,并将所述N个第三绘制命令转换为基于Vulkan实现的绘制命令,得到至少一个第四绘制命令;在得到至少一个第四绘制指令之后,将所述至少一个第二绘制命令和所述至少一个第四绘制命令提交至所述GPU,以便所述GPU执行绘制任务。8.根据权利要求7所述的方法,其特征在于,所述M和所述N小于50。9.根据权利要求7或8所述的方法,其特征在于,所述第一渲染通道和所述第二渲染通道为相邻的渲染通道,且所述第二渲染通道中的绘制指令被配置为在所述第一渲染通道中的绘制指令被执行之后执行。10.根据权利要求7至9任一所述的方法,其特征在于,所述M个第一绘制命令用于绘制目标场景,所述N个第三绘制命令用于在所述目标场景上进行如下操作的至少一种:绘制特效、进行着色以及绘制用户界面UI。11.根据权利要求7至10任一所述的方法,其特征在于,所述N个第三绘制命令包括第一目标绘制命令,所述第一目标绘制命令用于清除执行M个第一绘制命令后得到的绘制结果,且所述至少一个第四绘制命令中不包括用于清除执行所述至少一个第二绘制命令得到的绘制结果的绘制命令。12.根据权利要求11所述的方法,其特征在于,所述第二渲染通道包括依照预设次序排列的N个第三绘制命令,其中,所述预设次序用于表示绘制命令的被执行顺序,所述第一目标绘制命令为所述N个第三绘制命令中排列最靠前的绘制命令。13.根据权利要求11或12所述的方法,其特征在于,所述N个第三绘制命令包括第二目标绘制命令,所述第二目标绘制命令在所述第一目标绘制命令被执行之后执行,所述第二目标绘制命令用于获取执行M个第一绘制命令后得到的绘制结果,且所述至少一个第四绘制命令中不包括用于获取执行所述至少一个第二绘制命令得到的绘制结果的绘制命令。14.根据权利要求7至13任一所述的方法,其特征在于,所述M个第一绘制命令和所述N个第三绘制命令用于绘制同一个图像帧。15.一种绘制命令处理装置,所述装置应用于终端设备,所述终端设备包括图形处理器GPU,其特征在于,所述装置包括:指令获取模块,用于获取M1个第一绘制命令,所述M1个第一绘制命令属于同一个渲染通道,且所述渲染通道还包括M2个第三绘制命令,所述M1和所述M2为正整数,所述M...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。