流畅
- 分帧执行,算法优化
- 小心规划每一个函数
- 每一帧的逻辑、渲染等耗时不能高于33MS
- 稳定在30帧
- 小心规划每一个函数
- 网络传输波动延迟
- 固定延迟
- 缺点:所有玩家固定延迟
- 逻辑表现分离
- 表现端AI预测
- 固定延迟
断线重连
- 断线
- 心跳包
- 逻辑帧停止,表现帧停止预测
- 重连
- 最新现场数据快速重连
- 断线之后的数据,客户端加速播放
- 追帧重回
- 网络快照
丢包重传
- 原因
- 发送端数据堆积
- 降低发送频率
- 数据过大
- 网络模型自动有优化粘包分包
- 接收端数据卡顿
- buffer缓冲池
- 多线程分次接受后合并
- 发送端数据堆积
- 注意 丢包问题是不能解决的(网络不同),只能避免
粘包问题
- TCP对过小的数据包做优化
- 消息弹窗
逻辑不同步问题
- 随机数污染
- 浮点精度
- 逻辑顺序执行
- 某些插件里的不稳定排序
- List/Dict Sort()不稳定排序
- 数据包顺序
- 网络接收数据的先后顺序不一致的不同步
- ACK自增编号
- 对每一个发出的消息做一个自增的编号
- 存储一致性 : 多个容器引用同一对象