我正在开发一款适用于iOS的Box2D物理多人游戏.多人游戏正常使用锁步法.游戏及时更新物理世界.具有相同CPU的iOS设备之间没有异步.
但是,当使用带有Apple A6芯片的新iOS设备进行测试时,发生了异步.查看我的日志文件给我的印象是,desync发生得非常快,可能是因为我找不到哪些浮点运算.
我可以保证只有Box2D是游戏设计中需要同步的唯一模块,并且所有mutliplayer命令和输入都不会根据我的日志不同步.
我试过改变所有超越函数:sinf,cosf,pow,sqrtf,atan2f到双版本,但没有任何运气.
有没有办法迫使Apple A6将浮点数与某些编译器选项一样处理Apple A5?
我真的很感激任何答案.