如何提高游戏后台数据查找效率

kfckaifengcai 2013-12-26 05:06:12
加精
在游戏后台中,内存的数据查找是一个很重要,也是关系到我们游戏的后台效率的问题。

在大量的数据中,我们如何让我们的的程序能够快速的查找到我们所想要的数据呢。那么我们就要使用相应的算法了。

首先,我们所有使用的内存都是通过分配内存的方式,基本上都是共享内存。通过shmid来分配内存。

那么游戏中有哪些数据呢。

1.配置表数据,这个数据是程序启动的时候,就要加载到内存中,我们就使用了二分法,将这些数据放到相应的二维数组中,这些内存都是使用二分法进行有序排列。

在查找的时候,其效率是logN,也就是基本符合了我们的要求。

2.运行时数据,这个就要使用了各种方法来加速我们的快速查找了。当一个心的用户登录到我们的服务器,我们会现在内存池中进行内存的分配工作,然后记录玩家内存池的索引,和内存ID

然后,我们在讲根据内存的数组索引,进行对玩家的名字还有内存id等进行hash存储。因此,当我们要查找一个玩家的时候,我们先通过其hash查找,然后得到其内存池索引,直接通过

数组下标,取得玩家的数据,效率非常的高效。

3.地图数据。地图数据分配在内存池等等,我们还是用了nginx页内存的分配策略。加速了内存的的使用。


因此,根据不同的情况,达到我们高效率的内存数据查找,是至关重要的。
...全文
1422 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
kfckaifengcai 2014-01-23
  • 打赏
  • 举报
回复
u013541365 2014-01-22
  • 打赏
  • 举报
回复
ptfcwnsohq 2014-01-21
  • 打赏
  • 举报
回复
小黄鸭和大树 2014-01-21
  • 打赏
  • 举报
回复
梧桐芭蕉 2014-01-21
  • 打赏
  • 举报
回复
好东西
treetor 2014-01-16
  • 打赏
  • 举报
回复
好好学习一下
不二星空 2014-01-15
  • 打赏
  • 举报
回复
内存查找我觉得影响不大(一般使用正确的容器就能达到效果),数据库和IO操作影响更大。 个人观点
云满笔记 2014-01-15
  • 打赏
  • 举报
回复
高端啊 来支持的
kiyoki 2014-01-14
  • 打赏
  • 举报
回复
读完之后感觉楼主什么深层次的都没说
line_us 2014-01-14
  • 打赏
  • 举报
回复
真不错,这个问题关系到游戏体验。
纹枰老妖 2014-01-14
  • 打赏
  • 举报
回复
楼主说的什么?
frmqjqxrpqzg 2014-01-14
  • 打赏
  • 举报
回复
frmqjqxrpqzg 2014-01-14
  • 打赏
  • 举报
回复
很好,很有帮助,顶起
hyewzlsu 2014-01-14
  • 打赏
  • 举报
回复
teemai 2014-01-14
  • 打赏
  • 举报
回复
不错~

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧