1.
1个场景一般认为是只占用1个线程(不存在多线程问题).
2.
执行逻辑热点,一般认为是 “战斗计算、移动同步”,只看这两部分能执行多少次.
3.
CPU的主频不代表CPU的速度,但提高主频对于提高CPU运算速度却是至关重要的。
CPU主频是什么_处理器主频是什么-太平洋IT百科
4.
本机配置 (3GHz):
简单理解为 每秒计算3G次(这个理解不准确,只是简化思考因素的一种手段)
5.
本机执行10G次循环+1,用时20秒. 也就是1秒执行0.5G次+1运算.
6.
服务器的单核配置:
基本上主频也不会超过3GHz.
腾讯云轻量应用服务器CPU主频型号处理器说明_运维FUN的博客-CSDN博客_应用服务器型号
7.
结论,某种程度上,程序在开发机器单核cpu上的执行表现,大致等同于部分云服务器的最终表现.
8.
以 “1秒执行0.5G次+1运算”为基准。
假设1000个人1个区同时在线,拆分成10个场景服务器。则每个场景服务器100个人,能把100个人的行动信息互相同步么?(假设每个客户但每秒发送1次移动指令;不考虑9宫格等优化算法)
基本逻辑:
(1)每秒服务器收到100个人的移动指令
(2)每个移动指令都要遍历100人分别send(假设send的执行代价 等价于 +1运算).
(3)每秒要执行 100*100 = 10K 次 send(假设send的执行代价 等价于 +1运算)
(4)主频3G的开发机器:在调试状态下(这种状态一般执行速度会降低),1秒执行0.5G次+1运算。可见,这种移动计算,只占用了cpu 1/50000 的计算力.
9.
以上只是在各种理想的假设下,进行的推断计算。
真正的执行结果,还是要到压力测试阶段(实际的场景服务器,会对移动做优化,同时有很多逻辑要执行--比如NPC的移动还会涉及到A*寻路,这个寻路要对地图上的部分点进行访问和回溯,计算代码远大于+1运算),用性能分析工具(例如本图中的vs工具),才能得知。



