[发明专利]一种多线程环境下基于消息的无同步3D渲染方法有效
申请号: | 201210587740.0 | 申请日: | 2012-12-28 |
公开(公告)号: | CN102981809A | 公开(公告)日: | 2013-03-20 |
发明(设计)人: | 林秀全;郑婉清;高小玲 | 申请(专利权)人: | 上海创图网络科技发展有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/50;G06T13/20 |
代理公司: | 上海科盛知识产权代理有限公司 31225 | 代理人: | 赵继明 |
地址: | 200072 上海市闸北*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多线程 环境 基于 消息 同步 渲染 方法 | ||
技术领域
本发明涉及一种动画数据处理方法,尤其是涉及一种多线程环境下基于消息的无同步3D渲染方法。
背景技术
典型的3D应用,如3D游戏等,需要把3D渲染和逻辑事件的处理分开,以提高系统逻辑处理能力和3D渲染效果。为此,3D开发中往往使用多线程来处理,以提升并行处理能力。但是,多线程的加入也为软件开发复杂度带来更高的要求,更重要的是对资源的管理要求更为严格,特别是资源的访问不能冲突。
已有解决方案是,对多线程访问的资源进行同步,如加线程锁进行控制。这种方法能有效地解决资源访问冲突造成的系统崩溃等问题,但对软件开发人员的要求会很高,对多线程控制能力要求很强,只要出现任何一个纰漏都可能让整个系统出错。同时,频繁的多线程同步反而会降低系统的性能。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种可实现逻辑处理和3D渲染并行计算,且并行处理高效的多线程环境下基于消息的无同步3D渲染方法。
本发明的目的可以通过以下技术方案来实现:
一种多线程环境下基于消息的无同步3D渲染方法,该方法采用操作系统的消息机制作为通信手段,通过监测当前3D场景的使用情况,动态分配CPU时间进行逻辑事务处理、资源访问和3D渲染操作,进行多线程同步控制,具体包括以下步骤:
a)初始化3D环境,根据硬件显卡及所使用的图形API初始化3D环境;
b)CPU分配线程模块监测并统计当前3D场景的使用情况,计算并动态分配CPU时间片;
c)CPU分配线程模块把分配的CPU时间片通过消息方式通知主线程模块;
d)主线程模块处理接收到消息,并判断是否需要退出系统,若是,则退出,若否,则执行步骤e);
e)主线程模块根据接收到的消息,以消息响应方式进行逻辑事务处理、资源访问和3D渲染。
所述的动态分配CPU时间片具体为:
1)统计当前3D场景所渲染的对象数量,包括实体对象和纹理数据;
2)记录前一帧逻辑事务处理所花费的时间;
3)预测下一帧的逻辑事务处理时间及3D渲染对象数量;
4)根据下一帧预测值和前一帧统计值获得CPU时间片分配值。
与现有技术相比,本发明具有以下优点:
1、保持传统的多线程功能,以实现逻辑处理和3D渲染的并行计算;
2、取消多线程同步机制,通过机制保障资源的无冲突访问,带来高效并行的处理。
附图说明
图1为本发明的结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
实施例
一种多线程环境下基于消息的无同步3D渲染方法,该方法采用操作系统的消息机制作为通信手段,通过监测当前3D场景的使用情况,动态分配CPU时间进行逻辑事务处理、资源访问和3D渲染操作,进行多线程同步控制。
如图1所示,上述渲染方法具体包括以下步骤:
a)初始化3D环境,根据硬件显卡及所使用的图形API初始化3D环境;
b)CPU分配线程模块监测并统计当前3D场景的使用情况,计算并动态分配CPU时间片;
c)CPU分配线程模块把分配的CPU时间片通过消息方式通知主线程模块;
d)主线程模块判断是否收到消息,若否,则返回步骤c),若是,则处理接收到消息,并判断是否需要退出系统,若是,则退出,若否,则执行步骤e);
e)主线程模块根据接收到的消息,以消息响应方式进行逻辑事务处理、资源访问和3D渲染,处理完毕后,接收下一条消息。
所述的动态分配CPU时间片具体为:
1)统计当前3D场景所渲染的对象数量,包括实体对象和纹理数据;
2)记录前一帧逻辑事务处理所花费的时间;
3)预测下一帧的逻辑事务处理时间及3D渲染对象数量;
4)根据下一帧预测值和前一帧统计值获得CPU时间片分配值。
上述多线程环境下基于消息的无同步3D渲染方法保持传统的多线程功能,以实现逻辑处理和3D渲染的并行计算,同时取消多线程同步机制,通过机制保障资源的无冲突访问,带来高效并行的处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海创图网络科技发展有限公司,未经上海创图网络科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210587740.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:妇产科分泌物送检试管
- 下一篇:显示方法、终端设备以及多终端设备系统