王杰的博客


  • 主页

  • 关于我

  • 文集

漫谈微信libco协程设计及实现(万字长文)

Posted on 2019-06-21
1.libco简介  libco是微信后台大规模使用的c/c++协程库,2013年至今稳定运行在微信后台的数万台机器上,使得微信后端服务能同时hold大量请求,被誉为微信服务器稳定性的基石。libco在2013年的时候作为腾讯六大开源项目首次开源。libco源码地址   ...
Read more »

脏标记遍历之极致优化

Posted on 2019-06-21
1.背景介绍  本文适用于所有脏标记遍历功能,提升性能几十倍,本文以游戏中玩家的属性同步作为例子进行介绍。   MMORPG游戏中玩家有大量属性需要从服务器同步给客户端,例如名字、血量、战力、等级、速度等等。每当某个玩家的某个属性发生变化时,需要将玩家该属性的 ...
Read more »

服务器内存优化

Posted on 2019-06-21
1.内存统计  在对内存优化之前,需要先确定程序每个模块的内存分配。程序的性能有perf、gprof等分析工具,但内存没有较好的分析工具,因此需要自行统计。在linux下/proc/self/statm有当前进程的内存占用情况,共有七项:指标vsize虚拟内存页数、residen ...
Read more »

多进程架构数据同步方案

Posted on 2019-06-21
1.同步的必要性  MMORPG为了满足单服承载更多玩家的需求,往往会采用多进程架构,即k个GameServer负责游戏逻辑以及一个WorldServer负责全局逻辑,如果单服承载n个玩家,则每个GameServer承载n/k个玩家。帮会等公共数据均在WorldServer上加载 ...
Read more »

游戏的存储方案

Posted on 2019-06-21
1.存储要求  在游戏中,玩家、帮会等数据需要存到数据库中,这些数据要能快速存储,且存储数据不影响游戏进程GameServer的响应速度,同时要保证服务器重启时加载数据需要尽可能的快,服务器宕机时数据不丢。 2.存储结构  为了让服务器重启时加载数据尽可能的快 ...
Read more »

跳点搜索算法JPS及其优化(万字长文)

Posted on 2019-06-21
1.引言  寻路算法用途众多,例如在游戏和地图中。A*算法已经众所周知,对于其优化也是层出不穷,然而性能并没有取得突破性进展。本文介绍JPS的效率、多线程、内存、路径优化算法。为了测试搜索算法的优化性能,实验中设置游戏场景使得起点和终点差距200个格子,需要寻路10000次。结果 ...
Read more »

6 posts
© 2019
Powered by Hexo
|
Theme — NexT.Gemini v5.1.4
访问人数 总访问量 次