wxWidgets wxConfBase写得很慢

时间:2011-08-31 11:48:17

标签: c++ windows performance wxwidgets

我正在使用wxConfBase来保存文本框的数据。 (视窗)

config = new wxConfig(wxT("soft"));
    config->Write(wxT("COM"),temp_port->GetValue());
    config->Write(wxT("SQL_HOST"),mainset_sql_host->GetValue());
    config->Write(wxT("SQL_DB"),mainset_sql_db->GetValue());
    config->Write(wxT("SQL_LOGIN"),mainset_sql_login->GetValue());
    config->Write(wxT("SQL_PASS"),mainset_sql_pass->GetValue());
  {.......}
delete config;

我在关闭函数时调用它。

事实是它非常慢,需要大约10秒(程序冻结)来写大约20个参数。

我相信它写在我的本地磁盘上,因为我无法找到保存到底的地方,甚至尝试使用config-> SetPath。

此外,对我计算机上文件的访问似乎并不那么慢......

也许有一些比使用config-write更有效的方法。

如果有人有个主意,谢谢。

2 个答案:

答案 0 :(得分:2)

你应该有一个好的调试策略。尽量减少外部影响,并做一个最小的例子。然后尝试找出程序挂起的确切位置。它真的是配置的东西吗?或者是那些mainset_sql_ *查询?

答案 1 :(得分:1)

对于给定名称“soft”:

Windows:wxConfig写入HKEY_CURRENT_USER \ Software \ soft。

Linux:wxConfig在主目录中创建隐藏的.soft文件。

在两个操作系统中使用wxConfig,我没有任何性能问题。尝试进一步调查,了解保存此信息的位置。