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

delphi – 有没有办法保存对象的状态以便以后更快地重新加载?

发布时间:2020-12-15 09:41:15 所属栏目:大数据 来源:网络整理
导读:我正在处理的一段代码必须分析由另一个软件生成的外来文件格式 – 从游戏中“重放”更精确.在此重播中,玩家产生的每个动作都以可变数量的参数保存. 我的软件会对用户的操作进行分析,比如在整个游戏过程中每分钟生成一个动作图表等等……并且在内部提供详细信
我正在处理的一段代码必须分析由另一个软件生成的外来文件格式 – 从游戏中“重放”更精确.在此重播中,玩家产生的每个动作都以可变数量的参数保存.
我的软件会对用户的操作进行分析,比如在整个游戏过程中每分钟生成一个动作图表等等……并且在内部提供详细信息,每个动作都用自己的方法转换为一个对象,但有几十个即使对于最简单的游戏,这种分析需要花费一些时间,而且我现在正在寻找一种方法来在重播已经被分析过一次时将其固定.

我有几个想法,但我不确定应该应用哪一个:
?1 – 某种序列化将动作的对象状态保存在磁盘上,以便可以直接从它重新加载对象?我不确定这会对性能产生重大影响,因为它仍然需要创建所有对象
?2 – 手动创建每个对象类型的大型池,并在用户从重放移动到重放时重用它们,从而避免创建时间?

我不知道如何继续这里,所以如果你对如何快速设计这个有任何好主意,请随时分享.请注意,一旦分析,占用磁盘空间以保存重放状态不是问题,这些都是“高端”游戏玩家的计算机,因此只要加速进程,我就可以采取一些自由来消耗多少资源.

在此先感谢您的帮助

解决方法

>从TComponent派生每个对象 >使您要保存的所有属性都已发布 >创建一个根组件作为其他组件的所有者 >使用TFileStream或TMemoryStream来存储和加载根

(编辑:李大同)

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

    推荐文章
      热点阅读