帧同步浮点数不同步问题是否是历史问题?

做的帧同步游戏, 测试不同设备(手机, x86PC)并未出现不同步的情况;
查了相关资料, 都是些2010年之前的资料.

是不是基本不用考虑浮点数问题? 99%的设备不会出现差异?

肯定会出现差异 。说明下你的使用场景,有的前几次碰撞检测看不出来,次数多了更明显

精度问题,其实就是蝴蝶效应,精度误差会积累的,只有当积累到足够影响表现的时候,你才能看得出来

出现差异的场景是什么? 不同CPU吗? 我想重现这个场景. 我测试了IOS10, 安卓, amd x86pc, 递归测试math.Sin(), 并为出现不同步的情况.
感觉是历史问题, 文物级CPU可能不同步.

我测试的是 递归 Math.Sin()

console.log("0.1 + 0.2 = ",0.1 + 0.2); // 等于 0.30000000000000004
这个例子就说明要定点数。不是每个客户端都能算出相同的值,js解析器不同。有些能算出0.3,有些不能

1赞

只是想搞清楚如何能够重现这个问题?

你复制代码运行就出结果了

我在多个安卓, 苹果手机运行了, 结果都是0.30000000000000004. js语言;

有高手可以回答吗?

帧同步逻辑上是需要避免使用浮点数的,会有累积误差

避免使用浮点数。确实会有误差的。
就算你用Math.ceil(1.1) 之类, 不同设备也可能会出现1 和 1.000000001的情况。
当你用这个数字来判断 >1 的时候,一个为false,一个为true。