我们有一个非常重的GUI应用程序,里面有几个嵌套的tabwidget结构,里面有很多小部件(总共大约10k)。在应用程序启动期间,所有这些都被初始化,这导致Windows系统上的启动时间非常长,大约1分钟。在Ubuntu上完全相同的应用程序需要大约5-10秒才能启动,这看起来很奇怪。
两个系统都是在调试模式下编译的。在Windows上,我们在Ubuntu上使用Visual Studio 2012和Qt 5.1.2,我们使用g ++,也使用Qt 5.1.2。
我的第一个假设是,Windows可能会同时加载每个GUI Widget。而在Linux上它只加载在屏幕上实际可见的小部件,并在它们即将可见时根据请求加载剩余的小部件。情况可能如此吗?有没有人有解决方案在Windows上启用此功能而无需手动编写延迟初始化?