Unity 关于帧同步的一些问题
1:帧同步如何解决不同步的问题? 可靠稳定的帧同步基础算法 消除浮点数带来的精度误差 控制好随机数 参考: Unity帧同步游戏极简框架及实例(附客户端服务器源码) 2:帧同步怎么做到流畅的战斗? 首先,定义一下流畅的战斗,流畅的战斗并不是代表着游戏的帧数一定要多高多高,而是说游戏的帧数在某一个帧数范围内小规模的变动,例如稳定在30帧这样。 对于单机游戏来说,如果要保证稳定在30帧,每一帧的逻辑、渲染等耗时不能高于33MS,所以需要小心的规划每一个函数的使用,采用分帧执行、算法优化等手段优化卡顿点。 而对于帧同步来说,不仅仅需要完成单机游戏的优化、还要针对网络波动进行针对的优化。 我们知道,网络传输无法保证每一次传输的延迟都是一定的,有时候10MS就能完成一次传输,有时候1000MS才能完成一次传输,那么客户端如何保证网络传输不稳定的情况下,逻辑帧的运行还是相对稳定的呢?下面是给到的两种解决方案。 收到逻辑帧消息之后,不立即去播放,而是存着,播放使用固定的延迟进行播放 ,表现上就是玩家每次进行操作的时候,并不是马上生效的,而是有一小段固定延迟,这样网络在我们设置的延迟内波动的话,玩家是感受不出来卡顿的。但是缺点也很明显,每一个玩家都会有一段延迟。 另外一个处理方式就是, 逻辑和表现进行分离 , 表现帧由玩家和逻辑帧进行驱动,逻辑帧卡顿并不影响表现帧,表现帧由玩家进行控制播放