C ++ fstream写入文件非常慢
C++ fstream writing to file very slow
我的游戏中有一个由图块组成的 2D 世界。每当我创建一个新世界时,我都会初始化一个包含 4800 万个瓷砖的数组
short worldGrid[48000000];
我设置了所有 4800 万的值,然后我将这些值写入这样的文件中:
std::fstream save("game_save", std::fstream::out);
for (int x = 0; x < 48000000; x++)
{
save << world.worldGrid[x];
save << " ";
}
save.close();
4800万个值,每个2字节。所以 9600 万字节,或 96 兆字节。我的问题是,仅 for 循环内的这个过程在我的 SSD 上就需要 2 分钟才能完成。我觉得将 96mb 的数据写入此文件不应该花费 2 分 5 秒。如果有人有任何建议,我将不胜感激。
尝试一次写入所有数组,而不是一次写入 2 个字节..
类似于:
save.write(world.worldGrid, sizeof(worldGrid));
我的游戏中有一个由图块组成的 2D 世界。每当我创建一个新世界时,我都会初始化一个包含 4800 万个瓷砖的数组
short worldGrid[48000000];
我设置了所有 4800 万的值,然后我将这些值写入这样的文件中:
std::fstream save("game_save", std::fstream::out);
for (int x = 0; x < 48000000; x++)
{
save << world.worldGrid[x];
save << " ";
}
save.close();
4800万个值,每个2字节。所以 9600 万字节,或 96 兆字节。我的问题是,仅 for 循环内的这个过程在我的 SSD 上就需要 2 分钟才能完成。我觉得将 96mb 的数据写入此文件不应该花费 2 分 5 秒。如果有人有任何建议,我将不胜感激。
尝试一次写入所有数组,而不是一次写入 2 个字节.. 类似于:
save.write(world.worldGrid, sizeof(worldGrid));