gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 15:18:59 25 4
gpt4 key购买 nike

我正在编写的一段代码必须分析由另一个软件生成的外部文件格式 - 更准确地说是游戏的“重播”。在此重播中,玩家产生的每个 Action 都以可变数量的参数保存。
我的软件对用户的 Action 进行分析,例如生成整个游戏中每分钟 Action 的图表等......并且为了在内部提供详细信息,每个 Action 都用它自己的方法转换成一个对象,但有数十个即使对于最简单的游戏,也有数千个 Action ,这种分析需要时间,我现在正在寻找一种方法,当重播已经被分析一次时,可以加快它的速度。

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

我不知道如何继续这里,所以如果您对如何快速设计有任何好主意,请随时分享。请注意,分析后占用磁盘空间来保存重播状态不是问题,而且这些是“高端”游戏玩家的计算机,因此我可以自由地决定消耗多少资源,只要它可以加快进程即可。

预先感谢您的帮助

最佳答案

  • TComponent派生每个对象
  • 将您要保存的所有属性发布
  • 创建一个组件作为其他组件的所有者
  • 使用TFileStreamTMemoryStream来存储和加载根目录

关于delphi - 有没有办法保存对象的状态以便以后更快地重新加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1282123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com