是实时将数据写入文件更好,还是在程序关闭时写入文件更好

Is it better to write data to a file in real time, or at program shutdown?

本文关键字:文件 更好 程序 实时 数据      更新时间:2023-10-16

我正在开发一个MMORPG,只是想听听将信息(在本例中为游戏日志)存储到文件之间的两个不同参数。

最好在创建信息时将信息输出到文件中(我们说的可能是每几秒钟 10-30 个条目,或者将其存储在内存中直到程序关闭,然后在终止之前将所有信息转储到文件中。

我可以看到两端的论点主要是如果我们将其保存在内存中,它将开始占用计算机端的大量资源,如果我们等到程序关闭并且出于任何原因程序通过崩溃关闭并且信息未保存,这将非常糟糕在 MMORPG 的角度来看......另一方面,我确信每次写入文件通常也不会非常有效......

我在C++做这一切。

缓存一些日志消息可能是有意义的,但将其全部存储到关闭是不行的。

首先,MMO往往会运行数小时,而在游戏中,您没有这种内存可以浪费。

其次,更重要的是,日志对于调试很重要。如果游戏崩溃,则需要这些日志。如果您将它们缓存在内存中并且游戏崩溃,它们就会消失。