[发明专利]一种多线程渲染的方法和装置有效

专利信息
申请号: 201710524166.7 申请日: 2017-06-30
公开(公告)号: CN109213607B 公开(公告)日: 2021-07-23
发明(设计)人: 杨亮;张文明;陈少杰 申请(专利权)人: 武汉斗鱼网络科技有限公司
主分类号: G06F9/54 分类号: G06F9/54;G06T1/20
代理公司: 北京众达德权知识产权代理有限公司 11570 代理人: 刘杰
地址: 430000 湖北省武汉市东湖开*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 多线程 渲染 方法 装置
【说明书】:

发明实施例提供了一种多线程渲染的方法和装置,用于实现提高渲染效率的技术效果。所述方法包括:在入口接口中创建命令执行队列;在所述命令执行队列中创建N个命令列表,N为大于等于2的整数;创建与N个所述命令列表一一对应的N个渲染子线程;通过N个所述渲染子线程向N个所述命令列表提交渲染指令;当N个所述命令列表的渲染指令提交完成后,通过所述命令执行队列执行N个所述命令列表的渲染指令进行渲染。

技术领域

本发明涉及计算机技术领域,尤其涉及一种多线程渲染的方法和装置。

背景技术

直接三维Direct 3D是由微软公司所制定的3D规格界面,与Windows 95和WindowsNT操作系统兼容性好,可绕过图形显示接口直接进行支持接口的各种硬件的底层操作。然而,相关技术在利用Direct 3D进行游戏编程时,通常使用单线程渲染,即所有的绘制指令操作都只能在一个线程中执行。这对于大型的游戏或者实时性要求很高的游戏而言,单线程渲染的效率是达不到期望的。

发明内容

本发明实施例提供了一种多线程渲染的方法和装置,用于实现提高渲染效率的技术效果。

第一方面,本发明提供了一种多线程渲染的方法,包括:

在入口接口中创建命令执行队列;

在所述命令执行队列中创建N个命令列表,N为大于等于2的整数;

创建与N个所述命令列表一一对应的N个渲染子线程;

通过N个所述渲染子线程向N个所述命令列表提交渲染指令;

当N个所述命令列表的渲染指令提交完成后,通过所述命令执行队列执行N个所述命令列表的渲染指令进行渲染。

可选的,所述方法还包括:

在每个所述渲染子线程中创建信号事件;

如果所述渲染子线程未完成向对应的所述命令列表提交所有渲染指令,将所述渲染子线程对应的所述信号事件设置为无信号状态;

如果所述渲染子线程完成向对应的所述命令列表提交所有渲染指令,将所述渲染子线程对应的所述信号事件设置为有信号状态。

可选的,所述方法还包括:

如果所述渲染主线程监测到N个所述信号事件均为所述有信号状态,确定N个所述命令列表的渲染指令提交完成。

可选的,在通过N个所述渲染子线程向N个所述命令列表提交渲染指令之前,所述方法还包括:

获得每个所述命令列表所要对应实现的渲染功能的渲染参数;

基于所述渲染参数生成所述渲染指令。

第二方面,本发明提供了一种多线程渲染的装置,包括:

第一创建模块,用于在入口接口中创建命令执行队列;

第二创建模块,用于在所述命令执行队列中创建N个命令列表,N为大于等于2的整数;

第三创建模块,用于创建与N个所述命令列表一一对应的N个渲染子线程;

提交模块,用于通过N个所述渲染子线程向N个所述命令列表提交渲染指令;

执行模块,用于当N个所述命令列表的渲染指令提交完成后,通过所述命令执行队列执行N个所述命令列表的渲染指令进行渲染。

可选的,所述装置还包括:

第四创建模块,用于在每个所述渲染子线程中创建信号事件;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710524166.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top