我正在使用wxPython开发基于桌面的GUI (单一表单),并使用来自客户端专用网络的远程citrix访问来加载它。
假设GUI有特定的一组选择框和文本框,它们在应用程序启动时一起加载。选中框的值来自数据库,在选择复选框值的基础上,从数据库中填充相应的文本框(最初为空白)。
现在的问题是,由于远程访问速度慢,我们必须等待很长时间(大约5-7分钟)才能加载所有控件。如果我们能减少这一次,有什么建议吗?
首先考虑的一种方法是将GUI划分到多个选项卡中,并在选项卡之间划分控件。这样,当应用程序开始显示第一个选项卡时,我需要加载较少的控件。其他控件只在用户单击相应的选项卡后加载。
还有其他方法吗?还是这个方法是最好的方法?
发布于 2012-04-18 19:14:47
7分钟?这一定是兆字节的数据。即使是在56K调制解调器上,你也可以在这段时间内下载一兆字节或更多。如果它不是兆字节的数据,那么您将使用像fetch-one游标这样的糟糕的访问模式,并且应该更改为批量下载模式。如果是许多小的单独查询,则在线程上同时触发它们,或者编写一个数据库过程来收集所有的数据服务器端,并将其发送到一个查询中。
如果复选框的值不经常更改,则将这些值缓存在文本文件或本地数据库中,并使用这些值,直到实际值到达为止。
或者,将这些值写入应用程序或共享库。然后检查启动时的应用程序更新,税务应用程序的工作方式。
如果数据确实经常更改,则跟踪更改,并提供一种下载修补程序以更新本地数据缓存的方法。
最后,设置它,以便在向真实数据库提交数据时捕获由于过时的数据而产生的任何错误。
发布于 2012-04-18 15:42:33
对于任何表单设计,最好只加载用户在初始加载时需要查看的数据。因此,与其在第一个表单上抛出每个控件,不如按选项卡的建议将其展开,或者在单独的窗口/菜单/等上打开它们。
https://softwareengineering.stackexchange.com/questions/144725
复制相似问题