我正在为iPhone和iPad开发3D Wi-Fi多人游戏而不使用任何游戏引擎。我参考了本地Wi-Fi多人游戏的设备连接“ WiTap ”示例(链接到示例代码:WiTap)。
我发现当我将“ includesPeerToPeer ”属性设置为YES时游戏性能下降,但我发现当我设置“ includesPeerToPeer “财产到NO。此外,当设备蓝牙打开时,游戏性能下降更多。我将此属性设置为YES以允许更快地发现设备(以避免此处描述的错误:Bug)。我正在iPhone 5(在iOS 8.4上运行)和iPad第3代(在iOS 7.1上运行)上测试我的游戏)。
我有两个问题:
NSNetservice 的 includesPeerToPeer 属性如何影响我的游戏效果?当我将属性设置为YES或NO(设备蓝牙关闭)时,两个设备之间的连接建立有何不同?
当设备蓝牙保持开启时,为什么会出现性能下降?只要蓝牙可用,这些设备是否通过蓝牙连接?如果是,我如何限制我的设备仅通过 Wi-Fi 进行通信?
我很感激有关这个问题的任何建议。提前谢谢。
答案 0 :(得分:0)
启用includesPeerToPeer
NSNetService
属性可以通过点对点蓝牙和Wi-Fi实现服务发现,这意味着它通过蓝牙和WiFi进行广告宣传。
性能问题的原因可能与通过蓝牙进行的通信有关,与WiFi相比,这是一种相对较慢的连接。
我不知道(2)的答案,我只能猜测这就是为什么你看到性能问题是因为通信是通过蓝牙进行的。我不知道有什么方法可以通过WiFi强制连接 - 我已经多次阅读过这些文档而无法看到改变它的方法。
我已经看到很多建议禁用蓝牙以获得更好的本地游戏性能。