预先缓存资源和加载时间

时间:2011-07-27 17:42:34

标签: performance resources load-time

我一直在研究缓存游戏环境的资源。通过分析2D和3D的各种游戏,我提出了一些问题。

在2D游戏中,例如Link to the Past,我们看到从世界到地牢,从房子到世界等的无缝过渡。我想这意味着所有游戏的资源都被预先了解。这对2D游戏来说都很好,因为他们的资源往往更小,但3D游戏怎么样?

例如,“半条命2”和“刺客信条”都在地图转换之间有一个加载屏幕。我知道HL2使用声音缓存,当实际mp3加载时,音乐开始的5秒剪辑将播放。但这并没有回答有关纹理和模型的问题。这些游戏是否会预先缓存这些资源以加快加载时间,还是不会节省内存?

此外,我们看到像暮光公主这样的3D游戏,再次出现无缝过渡。这是否暗示所有资源都在这里缓存?我可以在PC游戏中理解这一点,但在所有平台的Wii上呢?

总体而言,在2D和3D环境中用于游戏开发的最佳选择是什么?

1 个答案:

答案 0 :(得分:1)

加载屏幕是当游戏的资源从磁盘上转移到RAM中时发生的事情,而像Twilight Princess这样的东西使用类似于懒惰加载的东西,其中世界的某些部分被动态加载到游戏中(同时卸载其他保持RAM使用率低的世界各地。资源不一定是缓存的,而是管理不同。

在像过去的链接(或超级马里奥)这样的2D游戏的情况下,有加载屏幕,但它们足够短并且通常被链接进入地牢隐藏,或者生命的级别/数量留下消息在马里奥,或者在银河战士的门口动画。而且,也许更准确地说,基于盒式游戏的游戏实际上是固态内存,内存访问速度相当于RAM。

与往常一样,最佳选择取决于您的制作方式。理想情况下,您希望阻止任何加载屏幕,但这通常很难/不可能,特别是对于拥有大量资产的大型3D游戏。虽然有些游戏明确分为几个层次(这里特别想到Portal),但如果你不得不坐在每个街区的加载屏幕上,开放世界游戏就不会有任何好处。 2d游戏稍微容易一些,因为你不必处理复杂的模型数据,但是其中很多都有某种加载屏幕,通常在你开始游戏时。游戏越复杂,你就越有可能处理某种加载屏幕。

有关游戏中“延迟加载”的绝佳示例,请查看(3D)侠盗猎车手游戏,我的世界(无限世界)和Ultima 7(大型游戏世界被划分为当你接近时加载的区域)它们)