【发布时间】:2015-01-05 12:09:56
【问题描述】:
我正在尝试修改游戏引擎,使其记录事件(如按键),并将这些事件存储在远程服务器上的 MySQL 数据库中。游戏引擎是用C++编写的,我目前有如下简单的架构,使用mysql++直接INSERTrecords到合适的数据库:
不幸的是,连接到 MySQL 服务器时的开销非常大,并且游戏会停止很长时间。将一批价值 Xs 的事件推送到服务器会导致游戏严重延迟(价值 60s 的事件可能需要 12s 才能同步)。公开访问 MySQL 端口显然也存在安全问题。
我正在考虑另一种选择,而不是向服务器发送命令,它可以在自己的时间与数据库交互:
这里游戏只会发送必要的信息(例如要更新的表和要插入的数据)。我不确定速度提升是否足够,或者哪个系统适合管理游戏发送的命令。
Someone else suggested Log4j,但显然我需要一个 C++ 解决方案。是否有合适的现有框架来完成我想要的?
【问题讨论】:
标签: c++ mysql events game-engine