通过C++虚幻引擎改进加载数据
Improve load data with C++ into Unreal Engine
我正在开发一款使用C++和虚幻引擎的游戏。
每次启动游戏时,我都必须从文本文件中读取数据。此文本文件目前有 117,955 行,分为 24 个寄存器。每行的第一个字符是用于标识它们的索引。
我将加载 12 或 13 个寄存器,所以我需要先找到它们。所有寄存器将是连续的:从 0 到 12,或从 5 到 17。
我不知道这是否是将数据加载到程序中的最佳方法。现在,我打开文件,逐行阅读,直到找到第一个寄存器。
我想我可以将文件拆分为 24 个文本文件,每个寄存器一个。但也许打开和关闭 13 个文件可能会更慢。
另一种选择是使用像mySQL或mongoDB这样的小型数据库引擎。
你们是更有经验的程序员,因为我刚刚开始学习C++而且我一直使用 C# 和 SQL Server 进行编程。
你对我有什么建议?
我不认为mysql或mongo是一个正确的选择(后台服务器进程对游戏来说是一个矫枉过正),我建议你看看sqlite。
如果你对数据库比较好,使用数据库可以大大提高你的开发速度(而不是考虑你的自定义文件格式,你只使用旧的sql)。
另一点是你的数据将井井有条,你会有统计数据,通过一些简单的脚本,你可以为你的游戏设计师创建分布式环境/Web界面,以向你的游戏添加内容/项目/脚本
。至于设计:无论如何都要封装数据库访问。以后会帮到你的。即 如果您发现即使SQLite对您来说也太慢了,可以将您的数据刻录到二进制文件中
SQLite是一个很好的解决方案。您可以使用此插件SQLiteUE4与数据库进行交互,或者至少查看C++代码。这里链接到指南。
MongoDB将有问题,因为c ++ API没有稳定的版本,需要很多细节。
- 使用ifstream从DAT文件加载数据
- SqlDataAdapter 未加载数据表 - C++
- C ,MySQL API加载数据本地
- 使用提升库在队列和堆栈数据结构上保存和加载数据时出错
- 使用 fstream 从文件加载数据
- 从文件加载数据
- 将错误处理添加到加载数据的函数(但有时还需要使用默认值)
- C#从文件加载数据并分类为数组
- 保存/加载C++数据时出错
- C++简体版链表,当我加载数据以创建链表并输入更多数据时,似乎存在差距
- 我无法加载数据文件,总是无法打开它
- 从C++模拟中保存和加载数据的有效方法
- 快板 5 加载数据文件
- 通过C++虚幻引擎改进加载数据
- 使用套接字从页面加载数据
- 创建缓冲区以加载数据时出错
- 使用 boost 序列化到磁盘后无法加载数据
- 从C++中的CSV文件读取和加载数据时出现问题
- 如何在运行时通过插件机制动态加载数据类型
- 保存和加载数据C++