我想为游戏存储不同对象的图形,它们的类可能相关也可能不相关,它们可能包含也可能不包含简单结构的向量。
通过序列化我的意思是,让对象自己序列化,这是有效的,但我需要为不同的对象编写不同的序列化方法。
通过二进制解析/编写,我的意思是,创建一个新的解析器/编写器树,它保存和读取这些对象的数据,然后传递它以使我的对象推送/拉取它们的数据。
我也可以使用json,但它的读取速度可能相当慢,而且当涉及到相当大的矩阵和数字时,它的尺寸效果不是很好。
答案 0 :(得分:3)
逐点:
所以这是三个文本投票,一个二分投票。就个人而言,除了图像(以及其他“自然”二进制数据)之外,我还会使用文本。然后,将所有内容存储在一个大的zip文件中(我可以想到几个游戏会做这个或接近它的东西)。
答案 1 :(得分:1)
查看来自Google的协议缓冲区或来自Apache的thrift。虽然它被认为是一种轻松编写有线协议的方法,但它基本上是一种对象序列化机制,可以用十几种语言创建绑定,具有高效的二进制表示,简单的版本控制,快速的性能以及良好的支持。
答案 2 :(得分:0)
我们正在使用Boost.Serialization。不知道它与samkass提供的那些相比如何表现。