在尝试更新旧C++ Builder/Delphi应用程序的外观时,我启用了视觉主题(visual styles),并对添加了多少性能主题感到惊讶。例如,我们的主要设置页面(我们不希望立即重做的开发时间和成本再培训的原因有11片,200控制怪物对话):启用XP视觉主题/视觉样式会导致性能下降
- 没有主题启用:〜0.1秒构建表单及其控件(由QueryPerformanceCounter测量),〜0.9秒从点击菜单项目到所显示的表格(如秒表测量)。对最终用户来说不是很明显。
- 启用主题:〜0.6秒构建窗体及其控件,〜1.5秒从点击菜单项到所显示的窗体。对最终用户非常明显。
我在Windows XP桌面和Windows 7虚拟机上获得了类似的结果。
我意识到我可以采取一些措施来改善这种特殊情况(例如,懒惰地加载对话框的标签页或重新设计它的完整版),但是对于主题添加如此显着的性能影响通常是典型的?有没有简单的建议来避免这种性能下降?
您是否将性能问题追踪到一个特定的事情,还是它的组合? – 2009-12-07 18:12:32
没有一件事;根本问题显然只是形式太大而已。 BeginUpdate/EndUpdate帮助,我会考虑创建一次对话框,而不是按需为我们的下一个版本创建。谢谢你的帮助。 – 2009-12-07 19:16:26