Answers:
不论平台如何,拥有一个大文件都会为性能带来一些好处。许多PC游戏也使用大文件。
您可以手动缓存大文件中每个文件的偏移量,以避免需要读取文件系统目录条目(如果错过了缓存,则可能涉及打开的每个文件的多次查找)。
您可以完全控制文件中数据的顺序,因此可以对其进行排列,以最大程度地减少缓慢查找的需求。
通常,在单个大文件上,数据压缩比在单个文件上更有效。
请注意,避免寻道对于加快加载时间非常有效。典型的硬盘驱动器可能具有10ms的寻道时间和100MB / s的传输速率。假设您需要加载100个着色器文件,总大小为1MB。如果您必须为每一个进行一次搜索,则将它们全部加载都需要一秒钟。通过单次搜索,您正在寻找20ms来加载所有负载。
当然,并非所有控制台都具有硬盘驱动器,而光驱的搜索性能甚至更差,因此,这些着色器在搜索时可能需要5秒钟或更长时间才能加载DVD。此外,与PC相比,控制台用作缓存的内存要少得多,因此它们倾向于更频繁地加载数据。
除了亚当给出的很好的答案,我还要指出其他一些重要因素:
文件越少,部署应用程序就越容易。 如果要在移动平台(如iOS,Android或Windows Phone)上部署应用程序,则尤其如此。即使在Windows Phone的情况下,您仍然可以拥有任意数量的文件,因为用于部署的XAP文件只是一个zip存档,因此
将所有资产都放在一个文件中可确保它们全部被“分段”下载/读取。许多游戏玩家会在游戏开始前为您下载或解压缩资产带来明显的延迟,但是只要他们在游戏过程中遇到微妙的停顿,他们就不会放纵。当然,您可以将资源预缓存在RAM中,但是,“逐段”加载它们比按文件加载它们要容易得多。