我有一个WinForms应用程序,它在32位下运行得很好,在64位下运行得非常慢(无论是编译版本还是发布版本)。支持.NET Framework 4.0,Windows 10。安装不同版本的Visual Studio。
非常慢意味着32位1秒,64位10分钟。
我有一种感觉,缓慢发生在填充DataGridView的过程中,但我不能确定。
我试过使用Profiler,但所有的时间都花在[外部代码]上,这是完全不透明的。
你是否遇到过类似的问题?我如何调查?
我有一个WinForms应用程序,它在32位下运行得很好,在64位下运行得非常慢(无论是编译版本还是发布版本)。支持.NET Framework 4.0,Windows 10。安装不同版本的Visual Studio。
非常慢意味着32位1秒,64位10分钟。
我有一种感觉,缓慢发生在填充DataGridView的过程中,但我不能确定。
我试过使用Profiler,但所有的时间都花在[外部代码]上,这是完全不透明的。
你是否遇到过类似的问题?我如何调查?
1条答案
按热度按时间mrfwxfqh1#
我终于明白了这个问题,与GridView无关,而是与TrackBar有关,它被分配了一个太大的最大值,对应于大量的刻度线。
这个问题很难追踪,原因有三:
我只能通过遵循@Paul Sanders的方法来发现它:随机暂停调试器并检查调用堆栈(在加载相关符号后)。经过多次尝试,我看到了对TrackBar方法的引用。