У нас проблемы со скоростью в некоторых частях нашего приложения, стандартного приложения .NET 4 для форм Windows.У нас есть ListView, содержащий некоторые коммерческие товары, и пользователь может щелкнуть по ним, чтобы положить его в корзину.Проблема в том, что при 10-кратном нажатии на один элемент в корзину добавляется только 4-6 элементов.
Я получаю тот же результат, когда создаю простое тестовое приложение с одним ListView и одним элементом.и debug.print в обработчике кликов.Я пытался добавить кнопку в том же приложении, и это быстро ..
Результаты от dotTrace Performance: ListView.click:
100,00 % OnRun • 6 454 ms • Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun
100,00 % RunMessageLoop • 6 454 ms • System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, ApplicationContext)
100,00 % RunMessageLoopInner • 6 454 ms • System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, ApplicationContext)
100,00 % FPushMessageLoop • 6 454 ms • System.Windows.Forms.Application+ComponentManager.FPushMessageLoop(IntPtr, Int32, Int32)
17,87 % [Native code] • 1 153 ms
17,87 % Callback • 1 153 ms • System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
17,87 % WndProc • 1 153 ms • System.Windows.Forms.Control+ControlNativeWindow.WndProc(Message&)
17,87 % OnMessage • 1 153 ms • System.Windows.Forms.Control+ControlNativeWindow.OnMessage(Message&)
17,87 % WndProc • 1 153 ms • System.Windows.Forms.ListView.WndProc(Message&)
►17,54 % WmMouseDown • 1 132 ms • System.Windows.Forms.ListView.WmMouseDown(Message&, MouseButtons, Int32)
►0,33 % WndProc • 21 ms • System.Windows.Forms.Control.WndProc(Message&)
Button.click:
100,00 % OnRun • 5 931 ms • Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun
100,00 % RunMessageLoop • 5 931 ms • System.Windows.Forms.Application+ThreadContext.RunMessageLoop(Int32, ApplicationContext)
100,00 % RunMessageLoopInner • 5 931 ms • System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Int32, ApplicationContext)
100,00 % FPushMessageLoop • 5 931 ms • System.Windows.Forms.Application+ComponentManager.FPushMessageLoop(IntPtr, Int32, Int32)
0,44 % [Native code] • 26 ms
0,44 % Callback • 26 ms • System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
0,44 % WndProc • 26 ms • System.Windows.Forms.Control+ControlNativeWindow.WndProc(Message&)
0,44 % OnMessage • 26 ms • System.Windows.Forms.Control+ControlNativeWindow.OnMessage(Message&)
0,44 % WndProc • 26 ms • System.Windows.Forms.Button.WndProc(Message&)
0,44 % WndProc • 26 ms • System.Windows.Forms.ButtonBase.WndProc(Message&)
0,44 % WndProc • 26 ms • System.Windows.Forms.Control.WndProc(Message&)
►0,25 % WmMouseDown • 15 ms • System.Windows.Forms.Control.WmMouseDown(Message&, MouseButtons, Int32)
►0,10 % WmMouseUp • 6 ms • System.Windows.Forms.Control.WmMouseUp(Message&, MouseButtons, Int32)
►0,08 % WmPaint • 5 ms • System.Windows.Forms.Control.WmPaint(Message&)
Любые предложения о том, что делать?