高性能MySQL读书笔记(一)
- 磁盘I/O
- 索引浅析
- 设置高性能索引策略
- 高性能SQL
- 相关资料
从理解磁盘I/O开始= =。
- 功能需求
- 总体概述
- 程序描述
需求文档详见《document/设计工作/OB文档集合/产品化/OB版本 天梯榜单修改》 =.= 。
战绩,是玩家参与一局游戏,并根据当局游戏表现来获得的一种分,会根据玩家战绩分的不同去做排名,形成战绩榜。战绩榜以周为固定周期进行统计结算,根据周期内全服玩家所获得的战绩值动态排行。与天梯榜的不同之处在于:是以周为固定周期进行统计结算,并在两个周期开始之间需要显示榜单内容。战绩榜的赛季开始与赛季结束都是一个固定的时间点,要避免由于启服,关服所可能导致相应操作的miss,注意这一边界情况的处理即可。详见 遇到的问题及相应解决方案。
- 读表
- 修改玩家血,经验等基础数值
- 修改移动速度
- 修改技能数量
读表部分代码,FileManager.h
1 | class FileManager |
FileManager.cpp
- Protobuf
- PC-hero道具消息格式
- 双端通信逻辑
- 蓝图中的调用方式
之前自己写的项目和接触过的消息通信方式都是以Json为消息格式去做,Hero项目是以Protobuf作为消息格式来进行通信,相对于Json会更小,更快一点。
protobuf 消息格式由 【字段规则】 【字段类型】 【标识号】构成。
由于笔者并未在之前接触过UE4和Moba类型的游戏客户端,服务端架构。在现有项目的基础上进入开发后,有一段时间进入了无从下手的境地。可以先去掌握一些基本的蓝图编程知识,做一些蓝图的UI逻辑表现后在进入后续开发。
- 开发用到的相关知识
- 道具设计
- UI部分准备工作
- 道具操作的蓝图通信
- 总结
这里只多插一句,在开发过程中,在服务器端发现了一种新的线程安全的单例模式的写法,比之前看到的Java式写法要好看很多。
1 | class skill_manager |
可优先掌握观察者模式。