序列化与文件加载
Serialization vs File loading
所以现在我在食人魔中工作,试图制作一个游戏。但我的问题很简单。
当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个)时,可能需要很长时间才能在屏幕上看到它。你必须获取该纹理,重建你的资源文件,然后加载到游戏中。如果没有,你只需直接在游戏中加载一个更改后的纹理。
这个资源管道问题非常重要,可以节省(或增加)大量的开发时间。
相关文章:
- 如何加载(或映射)文件部分的最大大小,但适合在Windows上的RAM
- 树莓上的 Libtorch 无法加载 pt 文件,但在 ubuntu 上工作
- 我的程序有一个保存配置文件的GUI,如何双击此配置文件以直接加载带有配置数据的GUI?
- SDL_LoadWAV未加载文件
- 如果流无法加载文件,并且无法打开
- 无法使用 fopen() 加载文件
- 如何在mac上为c++加载文件
- 如何以编程方式知道Adobe Reader完成了加载文件
- 使用loadFromFile()函数加载文件
- 使用微小的xml保存和加载文件
- C++加载文件
- C++从SQL数据库加载文件
- 从"Resource Files"文件夹加载文件C++ Windows 应用程序 (win32)
- 构建时如何在Visual Studio c++中加载文件
- 用dlsym加载文件,无法加载库
- 当在c#中加载c++ dll时,CLR是否会自动加载c++文件的依赖项?
- OpenCV视频捕获不加载文件
- 用char指针加载文件
- TinyXml解析器拒绝正确加载文件
- CMake 错误在 CMakeLists.txt:56 (include): 包含找不到加载文件: gmxVersion