序列化与文件加载

Serialization vs File loading

本文关键字:加载 文件 序列化      更新时间:2023-10-16

所以现在我在食人魔中工作,试图制作一个游戏。但我的问题很简单。

Ogre加载一个文件时,它会将其放入一个所谓的Entity对象中。我有一个想法,在Ogre中加载所有资源,然后将它们序列化,并将其全部存储在一个文件中,这样我以后就可以将它们作为二进制代码加载到实际游戏。

我的问题是,这种方法是否比总是加载更快实际文件。我确实提到我在场景中工作,所以不是所有的资源都是当然是马上装进去的。谢谢你的帮助。

游戏通常有自己的资源系统。他们没有加载单独的文件(jpg纹理、png图像、mp3文件、ogg文件、网格),而是将所有这些数据打包到一些"智能"文件中。它是一个中间层。

1. orginal files (models, textures, entities) -> pack into "game_resource_file"
2. load "game_resource_file" in game

问题的答案:是的,它应该会使加载更快。

但是有一些缺陷:正如你所看到的,你至少需要两个步骤才能在游戏中拥有资源。当您更改一个纹理(满分100个)时,可能需要很长时间才能在屏幕上看到它。你必须获取该纹理,重建你的资源文件,然后加载到游戏中。如果没有,你只需直接在游戏中加载一个更改后的纹理。

这个资源管道问题非常重要,可以节省(或增加)大量的开发时间。