您的位置:首页 > 其它

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

2013-05-04 00:25 344 查看
在游戏后台中,内存的数据查找是一个很重要,也是关系到我们游戏的后台效率的问题。

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

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

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

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

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

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

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

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

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

因此,根据不同的情况,达到我们高效率的内存数据查找,是至关重要的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: