- 博客(6)
- 资源 (5)
- 收藏
- 关注
原创 角色名字所有大区唯一的实现策略
有的公司可能有一个专门角色名字唯一性判断的服务器,名字服务器。这个服务器的目标保证一个大区或者所有大区的名字唯一。所有大区名字唯一有一个好处是,合服的时候不会出现角色名冲突。一个大区唯一的实现策略很直接很容易。这边文章我们尝试讨论所有大区名字唯一的实现策略。先说一个直接的策略
2011-08-31 16:44:29 2516 1
原创 游戏服务器和__gnu_cxx::pool_alloc
pool_alloc是gnu对stl allocator一个扩展实现。位于ext/pool_allocator.h。 pool_alloc实现策略是,当分配的对象大于某个值(我的版本是120bytes)是,就直接用new&delete进行分配和释放。这个策略对于很应用是可接受的,
2011-08-30 14:44:09 1632
原创 SNS游戏中社区Server和游戏Server一种数据交互的策略
SNS游戏和MMO类的游戏最大的区别是不分在线和离线状态。SNS游戏中存在大量的某个角色对另外一个离线角色交互。我们拿农场类游戏举例。像偷菜之类的功能都在社区Server(SS)中实现。偷菜之外,我们可以和另外一个角色进入到某个房间进行PK,最后获得经验和物品等,这类功能我们
2011-08-29 17:48:12 1386 1
原创 多角色的游戏登录流程的一种优化方法
本来是不想这类非常简单的文章的,主要是我们公司有一款大型游戏没有针对这个流程做必要的优化,导致玩家进入游戏前的一些请求给Server带来一点不必要的压力。很多游戏是一个账户下可以创建多个角色。Client 选择服务器后,一般流程:1. 拉取自己帐号下的角色列表
2011-08-29 14:19:41 1353
原创 kfifo 一读一写无锁缓冲区中的memory barrier
Linux kernel实现了一个kfifo,支持一读一写线程的无锁操作。具体代码见kernel/kfifo.c。在2.6稍高一点的版本里都会涉及到memory barrier。本文稍微解释一下memory barrier。先看一下简单的两行代码: 26 bool flag = true; 27 int tmp = 10;26,27在现代的多核处理器里
2011-08-20 10:15:35 1414
原创 高效地使用STL
有的公司用C++做后台服务器的不用STL,理由一般是低效。效率可能主要是和动态内存分配有关。可以用一些手段,使用STL的时候让系统在运行的过程中内存保持稳定:不出现运行时释放系统内存的行为。通过举例子说明用STL保持运行时的内存稳定。Role 抽
2011-08-05 10:26:33 1847 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人