工作与压缩文件夹从内存
本文关键字:内存 文件夹 压缩 工作 | 更新日期: 2023-09-27 18:02:20
我正在制作一款XNA游戏,它使用了大量(目前约2800个)小型资源文件。在未存档的情况下将它们从一个地方移动到另一个地方已经成为一个问题,所以我想也许我可以将它们压缩,然后让游戏自动将它们解压缩到内存中。我还不需要写作能力,现在只需要阅读。
是否有一种简单的方法将文件夹解压缩到内存中并访问这些文件,就像磁盘上的常规文件一样简单?
我一直在阅读一些类似的问题,我看到很多人说操作系统(在我的情况下是Windows)可以比ram驱动器更好地处理文件缓存。我现在只想解压缩和读取文件,但将来我可能需要修改或创建新文件,我希望它对用户来说是快速和无缝的。也许我应该采取不同的方法来解决我目前的问题,考虑到我未来的目标?
我没有亲自尝试过,但如果你想能够在内存中压缩/解压缩,你可以使用MemoryStream
并将其传递到库(例如https://github.com/icsharpcode/SharpZipLib)。您可能需要记住的事情是,您只是将一个瓶颈移动到另一个瓶颈吗?
你也可以尝试类似于在HTML中使用精灵的方法。您将所有Zip组合为1,并使用索引表示它们在文件中的位置。然后移动FileStream。定位到你正在寻找的资源的位置,阅读(你需要的数量)然后用它做你需要的事情。你需要确保,如果你重建了。重建了所有的组合索引等等。然后你只需要复制1个文件,碰巧在这个文件中你有大约2800个更小的感兴趣的片段