gpt4 book ai didi

C++ fstream写入文件非常慢

转载 作者:行者123 更新时间:2023-11-28 00:14:02 27 4
gpt4 key购买 nike

我的游戏中有一个由图 block 组成的 2D 世界。每当我创建一个新世界时,我都会初始化一个包含 4800 万个图 block 的数组

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));

参见 the docs

关于C++ fstream写入文件非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31487739/

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