【发布时间】:2013-11-26 17:14:35
【问题描述】:
我制作了一个简单的搜索实用程序,可以搜索您计算机中的文件。
它有一个函数search,它搜索文件并将匹配项列表创建到mainloop函数,该函数又调用displayForm函数,以新形式显示搜索结果。
无论何时,我在启动后第一次运行应用程序,虽然search 函数在大约 1 秒内完成搜索,但显示结果窗口所花费的时间需要相当长的时间(大约 10 秒)。这只发生在您在启动后第一次搜索时。
我没有为search 函数提供任何代码,因为我认为search 函数并不重要,因为无论是第一次运行还是后续运行,它都需要几乎相同的时间,以及@987654327 的工作@ 很简单。
public void displayForm()
{
// Do some stuff here
// Make a listbox and add items to display.
SearchForm.ShowDialog() ;
}
另外,通过几个案例的试验,我必须告诉你,制作一个列表框需要相同的时间,无论是第一次运行还是后续运行。
这可能是什么原因?
【问题讨论】:
-
我们在谈论多少个项目?
-
第一次运行任何东西都需要进行 JIT 处理并加载到内存中。此后,后续请求比那里快得多,随时可以使用。这很正常。为了使其更快,也许将您的应用程序编译为使用 NGen 使其成为本机,因此您不必调用或使用任何 .NET 运行时功能和环境。可能有多种因素导致您的场景需要很长时间 - 可能是您的 GPU 渲染,可能是您正在使用的控件,可能是......天知道还有什么。
-
@LarsTech 第一次需要更长的时间,之后按预期工作。
-
向我们展示您
displayForm中的代码。 -
没关系,1项和100项都出现了问题
标签: c# .net performance user-interface