如何提高遊戲後臺數據查找效率

在遊戲後臺中,內存的數據查找是一個很重要,也是關係到我們遊戲的後臺效率的問題。

在大量的數據中,我們如何讓我們的的程序能夠快速的查找到我們所想要的數據呢。那麼我們就要使用相應的算法了。


首先,我們所有使用的內存都是通過分配內存的方式,基本上都是共享內存。通過shmid來分配內存。

那麼遊戲中有哪些數據呢。

1.配置表數據,這個數據是程序啓動的時候,就要加載到內存中,我們就使用了二分法,將這些數據放到相應的二維數組中,這些內存都是使用二分法進行有序排列。

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

2.運行時數據,這個就要使用了各種方法來加速我們的快速查找了。當一個心的用戶登錄到我們的服務器,我們會現在內存池中進行內存的分配工作,然後記錄玩家內存池的索引,和內存ID

然後,我們在講根據內存的數組索引,進行對玩家的名字還有內存id等進行hash存儲。因此,當我們要查找一個玩家的時候,我們先通過其hash查找,然後得到其內存池索引,直接通過

數組下標,取得玩家的數據,效率非常的高效。

3.地圖數據。地圖數據分配在內存池等等,我們還是用了nginx頁內存的分配策略。加速了內存的的使用。


因此,根據不同的情況,達到我們高效率的內存數據查找,是至關重要的。



發佈了270 篇原創文章 · 獲贊 96 · 訪問量 232萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章