加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – Protobuf vs二进制plists,用于iOS游戏中的网络贩

发布时间:2020-12-16 06:59:32 所属栏目:百科 来源:网络整理
导读:我正在为iOS开发实验性多人roguelike.玩家将通过GameKit API连接,并将它们放在一个地牢中.玩家可以执行各种操作,因此我想让一个设备成为主机,并实现某种RPC来发送/接收此操作(以及游戏启动时非常复杂的地牢状态) 我需要一些紧凑而快速的序列化.我在protobuf
我正在为iOS开发实验性多人roguelike.玩家将通过GameKit API连接,并将它们放在一个地牢中.玩家可以执行各种操作,因此我想让一个设备成为主机,并实现某种RPC来发送/接收此操作(以及游戏启动时非常复杂的地牢状态)

我需要一些紧凑而快速的序列化.我在protobuf和二元plists之间做出选择.二进制plists看起来很容易用于objc对象序列化/反序列化(这很重要,导致它的实验性非商业项目),但它看起来效率低下. Protobuf看起来效率很高,但完全是外星人.任何替代品?

编辑:刚刚找到http://msgpack.org/.看起来像是一种方式

解决方法

协议缓冲区序列化应该比二进制plist更快.
此外,如果你想在Android或任何其他平台上再次制作游戏,那么协议缓冲区将是你的朋友. (平台独立性)

在ios上使用协议缓冲区在开始时可能会很痛苦.使用XCode设置项目需要花费大量时间.
最初我尝试使用objective c version of protobuf,但由于库中的一些限制,我不得不完全放弃它.

我现在已经在Xcode上直接添加了google源代码,并且它的工作正常. check out this answer.通过这个,您将能够轻松地开始在项目中使用protobufs.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读