[发明专利]网络游戏中的射线查询方法和场景服务器有效
申请号: | 201210150401.6 | 申请日: | 2012-05-15 |
公开(公告)号: | CN102810133A | 公开(公告)日: | 2012-12-05 |
发明(设计)人: | 李利国 | 申请(专利权)人: | 北京像素软件科技股份有限公司 |
主分类号: | G06F19/00 | 分类号: | G06F19/00 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 杨春香;宋志强 |
地址: | 100043 北京市石景山区八*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 网络游戏 中的 射线 查询 方法 场景 服务器 | ||
技术领域
本发明涉及网络游戏技术,特别涉及网络游戏中的射线查询方法和场景服务器。
背景技术
碰撞检测是网络游戏中实现很多游戏效果和技术的基础,其中以射线查询应用最为广泛。所谓射线查询,其主要是使用射线作碰撞检测,查询空间中的射线是否与场景模型相交,如果相交则返回最近的交点等信息。例如《刀剑贰》中的跳跃、寻路、伤害判定等,都需要进行大量射线查询。
通常,网络游戏中用于射线查询的场景模型使用三角形网格表示,有时复杂的场景模型可能使用数十万乃至百万个三角形网格。为了加速计算,常常针对场景模型使用加速结构即kdtree、均匀网格等数据结构,其对空间进行划分,并将三角形划分到其覆盖的各个子空间,检测时只查找射线穿过的子空间,避免不必要的射线与三角形相交测试。但即使使用加速结构,射线查询也需要大量的计算。为了防止欺诈或外挂,更好的维护玩家权益,越来越多的网络游戏将涉及利益的射线查询放在服务器端计算,通常是由场景服务器的CPU执行。但是,场景服务器的CPU负责运行多个场景,包括世界和副本等,支持数以千计的玩家同时在线,每秒运行数十个游戏帧,而每一游戏帧通常需要处理网络请求、人工智能、伤害判定、寻路、日志等大量任务,如果在额定的时间内不能完成任务,导致服务器延迟,不仅影响玩家体验,还会影响后续游戏帧的处理,导致各种问题。和其它任务相比,射线查询不仅计算密集,而且帧间负载不平衡,在某一游戏帧只有少量的查询,而下一游戏帧就可能出现数百倍乃至千倍的查询,常常导致服务器延迟。
发明内容
本发明提供了网络游戏中的射线查询方法和场景服务器,以避免射线查询引起场景服务器的延迟。
本发明提供的技术方案包括:
一种网络游戏中的射线查询方法,方法包括:
场景服务器针对每一游戏帧执行以下操作:
在每一游戏帧开始时,将针对该游戏帧的所有射线查询请求注册到射线查询管理器中;
依据注册至该射线查询管理器的射线查询请求数量统计出当前是由CPU还是由图像处理器GPU执行射线查询;
如果统计出是由CPU执行射线查询,则由CPU执行射线查询;
如果统计出是由GPU执行射线查询,则调度GPU异步执行射线查询,而CPU在GPU执行射线查询期间执行非射线查询任务。
一种应用于网络游戏中射线查询的场景服务器,包括:
注册单元,用于当每一游戏帧开始时,将针对该游戏帧的所有射线查询请求注册到射线查询管理器中;
统计单元,用于依据注册至该射线查询管理器的射线查询请求数量统计出当前是由CPU还是由图像处理器GPU执行射线查询;
CPU,用于在所述统计单元统计出是由CPU执行射线查询时,执行射线查询;
GPU,用于在所述统计单元统计出是由GPU执行射线查询时,异步执行射线查询,其中,所述CPU在GPU执行射线查询期间执行非射线查询任务。
由以上技术方案可以看出,本发明中,依据每一游戏帧开始时注册至该射线查询管理器的该游戏帧的所有射线查询请求数量统计出当前是由CPU还是由图像处理器GPU执行射线查询,如果统计出是由CPU执行射线查询,则由CPU执行射线查询,如果统计出是由GPU执行射线查询,则调度GPU异步执行射线查询,而CPU在GPU执行射线查询期间执行非射线查询任务,这是实现了并非一直由场景服务器的CPU执行射线查询任务,而GPU也可协助执行射线查询任务,这保证了场景服务器的流畅运行,避免射线查询引起场景服务器的延迟。
附图说明
图1为GPU效果示意图;
图2为本发明实施例提供的方法流程图;
图3为本发明实施例提供的CPU计算时间和数据传输时间测试示意图;
图4为本发明实施例提供的详细方法流程图;
图5为本发明实施例提供的数据存储格式示意图;
图6为本发明实施例提供的GPU执行射线查询流程图;
图7为本发明实施例提供的查询数据和线程块数据示意图;
图8为本发明实施例提供的场景服务器结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京像素软件科技股份有限公司,未经北京像素软件科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210150401.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:呼叫转移的实现方法及系统
- 下一篇:用于传送烟草工业产品的设备
- 同类专利
- 专利分类
G06F 电数字数据处理
G06F19-00 专门适用于特定应用的数字计算或数据处理的设备或方法
G06F19-10 .生物信息学,即计算分子生物学中的遗传或蛋白质相关的数据处理方法或系统
G06F19-12 ..用于系统生物学的建模或仿真,例如:概率模型或动态模型,遗传基因管理网络,蛋白质交互作用网络或新陈代谢作用网络
G06F19-14 ..用于发展或进化的,例如:进化的保存区域决定或进化树结构
G06F19-16 ..用于分子结构的,例如:结构排序,结构或功能关系,蛋白质折叠,结构域拓扑,用结构数据的药靶,涉及二维或三维结构的
G06F19-18 ..用于功能性基因组学或蛋白质组学的,例如:基因型–表型关联,不均衡连接,种群遗传学,结合位置鉴定,变异发生,基因型或染色体组的注释,蛋白质相互作用或蛋白质核酸的相互作用