[发明专利]一种渲染方法及装置有效
申请号: | 201680006926.9 | 申请日: | 2016-12-26 |
公开(公告)号: | CN107223264B | 公开(公告)日: | 2022-07-08 |
发明(设计)人: | 王洛威;廉士国 | 申请(专利权)人: | 达闼机器人股份有限公司 |
主分类号: | G06T1/20 | 分类号: | G06T1/20;G06F9/54 |
代理公司: | 北京竹辰知识产权代理事务所(普通合伙) 11706 | 代理人: | 陈龙 |
地址: | 201111 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 渲染 方法 装置 | ||
本申请的实施例公开一种渲染方法及装置,涉及图像处理技术领域,能够降低CPU负载率,提高GPU与CPU间的带宽利用率。该方法包括在用户对应的用户线程中,配置所述用户提交的渲染任务数据的渲染过程状态;将至少一个在用户线程中为所述渲染任务数据配置的渲染过程状态后的缓存数据发送至渲染主线程;通过所述渲染主线程将所述缓存数据发送至图形处理器GPU进行图形渲染。本申请的实施例用于图形渲染。
技术领域
本申请的实施例涉及图像处理技术领域,尤其涉及一种渲染方法及装置。
背景技术
在三维图形处理领域,通常对图形的处理需要经过复杂的渲染计算过程。一般来说,渲染分实时渲染和非实时渲染,实时渲染需要在I秒内产出若干张图片,主要用于三维游戏、三维模型动态实时展示;非实时渲染一般耗时较长,旨在产出物理真实的效果图,主要用于影视动漫、广告策划、室内设计、工业设计等领域。
一般在进行实时渲染过程中,数据先由CPU(Central Processing Unit,中央处理器)处理再传输到GPU(Graphics Processing Unit,图形处理器)处理,最后生成最终的已渲染的画面。如图1所示,在CPU中,渲染子系统开启主线程、并创建针对三个用户的用户线程(用户线程1、用户线程2、用户线程3),对于每个用户通过各自提交的渲染任务数据,均需要通过主线程设置渲染过程状态后再传输到GPU处理。为提高实时渲染的速度,当数据传输延时可以忽略时,一种方案是可以将数据传输至后台的云端服务器进行实时渲染的相关计算。如图1所示,现阶段三维图形渲染在进行渲染之前,需要通过CPU设定对于当前场景的渲染过程状态,在渲染过程状态设置中一般需要设定各种参数,在云端服务器上进行实时渲染时,虽然CPU的运算能力强于普通PC(personal computer,个人电脑),但是在基于C/S(Client/Server,客户机和服务器)架构的云端服务器上实现时,每时每刻都有成千上万的用户终端接入,当用户终端接入增多时,对于每一个用户,均存在渲染过程状态的设定,而现有技术中渲染过程状态的设定都被图形API限制于一个线程/进程之中,受限于主线程缓存FIFO(First-In First-Out,先入先出)的处理方式,如图2所示,每一个用户的图像帧的渲染过程可能需要在主线程中依次处理;而针对每一个用户的一个渲染过程均需包含如图3所示的一个渲染过程状态设置流程:绑定顶点(通常为通过bindvertex函数申请内存)设置视图(通常为通过setviewport函数实现)绑定渲染管道(通常通过bindpipeline函数实现)绘制(通常为通过Draw函数实现),最终按照上述的设置对用户提交的一个图像帧进行绘制。而上述过程中bindvertex、以及bindpipelin通常是通过在一个OpenGL Contex(OpenGraphics Library Contex,开放图形库上下文中进行修改),而现有渲染API(ApplicationProgramming Interface,应用程序编程接口)限制只能在主线程的一个OpenGL Contex对每个用户的渲染过程状态进行修改,因此渲染过程状态设定操作所花费的计算时间就不能被简单的忽略了,而CPU多核多进程根本对此不能起到作用。
这样,当接入的用户终端量上升时,渲染任务量增大,云端服务器单个CPU负载率过高,其他CPU无法分担渲染工作,同时由于CPU端处理延迟增大,造成GPU与CPU间的带宽并不能有效利用,GPU并不能发挥最大效用。
发明内容
本申请的实施例提供一种渲染方法及装置,能够降低CPU负载率,提高GPU与CPU间的带宽利用率。
第一方面、一种渲染方法,包括:
在用户对应的用户线程中,配置所述用户提交的渲染任务数据的渲染过程状态;
将至少一个在用户线程中为所述渲染任务数据配置渲染过程状态后的缓存数据发送至渲染主线程;
通过所述渲染主线程将所述缓存数据发送至图形处理器GPU进行图形渲染。
第二方面,提供一种渲染装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于达闼机器人股份有限公司,未经达闼机器人股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680006926.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:签名验证的方法、设备和系统
- 下一篇:一种高出水率耐空转离心水泵