热天中文网

第14章 手动重构引擎(第5页)

天才一秒记住【热天中文网】地址:https://www.rtzw.net

王磊不知什么时候站到了他身后,“事件类型做key,监听者列表做value。

查找效率o(1)。”

“但2002年没有std::unordered_map,得自己实现。”

“我有现成的。”

王磊说,“以前写外掛时攒的代码库,开源链地址哈希表,经过优化,在2002年的机器上跑得飞快。”

“好,拿来用。”

王磊从他的旧硬碟里翻出代码。

確实是优化过的哈希表,用了內存池、缓存行对齐、快速哈希函数。

林浩集成进去,事件派发的性能提升了五倍。

晚上八点,战斗引擎的核心框架完成了。

能跑,但不完整。

林浩写了一个简单的测试:创建两个战斗单元,互相攻击。

屏幕上,两个像素小人你一拳我一拳,血条减少,直到一个倒下。

很原始,但基础逻辑是通的。

“接下来是网络同步。”

林浩说,“王磊,你的udp可靠传输层怎么样了?”

“搞定了。”

王磊说,“基於rudp(可靠udp),加入了前向纠错、选择性重传、流量控制。

在模擬的200毫秒延迟+5%丟包环境下,传输可靠率99.9%。”

“好,集成进来。”

集成网络层花了三个小时。

到晚上十一点,他们终於能在两台电脑之间跑起战斗demo了。

一台做服务端,一台做客户端。

客户端控制红色小人移动、攻击,服务端同步状態,另一个客户端能看到。

延迟明显,有卡顿,但能玩。

“还不够。”

林浩说,“要加预测和矫正。”

阿坤拿出了他今天的成果:三页纸的预测算法偽代码。

林浩看了,思路清晰,但实现复杂。

“我们分步来。”

林浩说,“先实现最简单的:客户端预测移动,服务端矫正位置。

技能和伤害先不做预测,等同步。”

“行。”

又写了两个小时。

凌晨一点,预测移动完成了。

测试时,故意加了300毫秒延迟。

红色小人在客户端移动得很流畅,但在服务端的视角里,它有轻微的“飘移”

,会突然跳到正確位置。

这是预测错误的矫正。

“视觉上有点怪,但能接受。”

本章未完,请点击下一章继续阅读!若浏览器显示没有新章节了,请尝试点击右上角↗️或右下角↘️的菜单,退出阅读模式即可,谢谢!

如遇章节错误,请点击报错(无需登陆)

新书推荐

替身越来越可爱怎么办大佬总勾我撩他[快穿]火影之穿越万界极品小神医山村小神农我成了少女的守护灵电击使的海贼之旅超级农民教有灵魂伴侣的龙傲天修男德[快穿]冷王霸爱,天才小医妃白月光男神对我心动了七日逃生游戏[无限]麻了!四儿一女供我在七零读大学苟在修仙世界肝熟练度二次元之衍化之力封神之灶王爷奋斗史被逼相亲,我闪婚千亿富豪穿成炮灰求善终,太子却非要娶我[综英美]女主今天逆天改命了么穿成反派亲妹,神医王妃手撕剧本末世之深渊召唤师护肤网红在古代大秦从献仙药开始漫游在影视世界穿越我成了已婚农妇