帧同步 说白了就是在客服端跑一个服务器,每个服务器基于相同的帧率,同步在相同帧的输入,达到一致性。
状态同步 服务器运算,把状态的改变发给客服端
首先要说 帧同步不是说不能加入状态同步的东西,状态服务就不能有帧同步类似的东西,所以他们的优点只基于
帧同步 服务器和客服端在一块,只发输入
状态同步 服务运算,发状态
网络:
帧同步 的网络负担肯定更小
但是延迟的问题大家都有,解决办法点也不一样。帧同步解决同步问题就是好了,状态解决的办法和思路比较多,比如客服端预判,部分运行客服也做一次等。总的来说帧同步解决网络延迟难度更大,当然解决好了,复用性比较好。状态同步相对容易一点点,只是那么一点点,但是办法多,解决的差也还行。
性能: 状态同步 不是一定要全部服务运算,帧同步 也不是非要全部放到客服端,所有这个基本上半斤八两
体验:帧同步 服务器和客服端在一块,所有输入预判肯定要准确些,但是准确好多,那的看网络情况,这个东西只能可能要好些,好多少难说。具体来说,就是单位越多,帧同步越容易做的更好。有人说格斗游戏帧同步肯定要好些,这点我不赞同。在小数据量,网络情况一样的情况下,发状态一定代表之间有差别么?差别在那?网络延迟?首先我们要清楚,状态同步并不是说客服端不能做已经确定的状态的后续运算,比如移动,动画等,或者做预判处理。所有,状态同步,在小数量级下,同步效果没有理由比帧同步差。
开发难度:帧同步 确实适合大公司,人多的,又有牛人的团队,帧同步其实是难度交给了同步,也就是说吧问题丢给单一人上。状态同步,难度要小些,但如果要做好也非常难。
个人觉得 帧同步 只适合特殊情况,比如数量级和技术能力强的团队
状态同步 适合范围非常大
选择哪个只取决于你的团队情况,帧同步,状态同步 都是需要有经验的人才能做的更好,
技术更强的团队帧同步,游戏理解更好的团队状态同步
另外说一句,不是说 状态同步 就不能在客服端放个服务器,其实这个也是可以,服务器之间用状态同步就可以,如果离线单机可以做成,单机的时候服务器在客服端,多人的时候在服务端。
也不是说 帧同步 就不能用 状态同步 做一些处理,甚至一些用状态同步 一些用帧同步
技术源于对问题的解决 而不是类别
状态同步和帧同步 并不是鸿沟 相反可以融合