同时,试图实现现代化的外观的一个老C++Builder/Delphi应用程序,我启用了些主题(视觉的风格)是惊讶于有多少的一个能打的主题增加。例如,对于我们的主要设置的网页(11个标签,200-控制的怪物对话,我们不想重做现在的原因的发展时间和再培训费用):

  • 没有主题启用: ~0.1秒 来构造形式及其控制(如测QueryPerformanceCounter), ~0.9秒 自击的菜单项的形式在示(作为衡量秒表).不真的明显的终端用户。
  • 与主题启用: ~0.6秒 来构造形式及其控制 ~1.5秒 自击的菜单项的形式显示。非常明显的终端用户。

我得到了类似的结果在两Windows XP的桌面和Windows7虚拟机。

我认识到,有步骤,我可以带来改善这一特定情况下(例如延迟装载的对话的标签或重新设计它完全),但是典型的主题添加这样一个明显的性能吗?是否有任何简单的建议,为避免这一性能打?

有帮助吗?

解决方案

哇。我不确信我曾经有200控制在一个单一的形式。这里有几个建议。

  • 这可能是一个特殊的情况下,要创建的对话,一旦当的应用程序的开始和它显示在需要时,而不是创建它的要求。

  • 我也想看看什么的构造或OnShow事件。你是填入任何名单在哪里"BeginUpdate"/EndUpdate将是一个优势?

  • 你有任何代码在OnResize事件或者类似,得到开枪多次,可以等到以后的形式是创建和运行一次?

  • 什么样的控制是你使用?如果一种类型的控制油漆特别是缓慢的,你可能能够取代它那个油漆更迅速。这将需要一些测试,虽然。

其他提示

你可以尝试和启doublebuffering上的控制,我们有很多相同的行为,并有所加快通过这种方法,但没有方法的效前采用的应用程序主题的支持。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top