所以现在我在食人魔工作,试图制作一个游戏。但我的问题很简单。
加载文件时Ogre
,它会将其放入所谓的Entity
对象中。我有一个想法,我将在哪里加载我的所有资源Ogre
,然后将它们序列化,并将它们全部存储在一个文件中,这样我以后就可以在实际游戏中将它们作为二进制代码加载。
我的问题是这种方法是否比总是加载实际文件更快。我确实提到我在场景中工作,所以不是所有的资源都被一次加载。谢谢你的帮助。
所以现在我在食人魔工作,试图制作一个游戏。但我的问题很简单。
加载文件时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 个)时,可能需要很长时间才能在屏幕上看到它。您必须获取该纹理,重建您的资源文件,然后加载到游戏中。没有它,您只需直接在游戏中加载更改的纹理。
这个资源管道问题非常重要,可以节省(或增加)大量的开发时间。