Рейтинг@Mail.ru

Измерение времени выполнения кода в .NET

Published in Полезные советы

Для измерения времени выполнения кода лучше не использовать метод DateTime.Now(). Лучше воспользоваться классом StopWatch. Это даст более адекватное значение, т.к. этот класс требует меньше накладных расходов на свою работу.

    Dim sw As New System.Diagnostics.Stopwatch()
    sw.Start()
    … выполнение кода, который мы хотим измерить …
    sw.Stop()
    Console.Write(sw.Elapsed)
Читать далее...

WPF: Как обновить GUI при быстро изменяющихся событиях

Published in Полезные советы

Добавить обработчик по таймеру:

Private updateGuiTimer As DispatcherTimer

'При загрузке окна инициализируем и запускаем таймер.
Private Sub winLoaded(sender As Object, e As RoutedEventArgs)
    updateGuiTimer = New DispatcherTimer()
    updateGuiTimer.Interval = TimeSpan.FromMilliseconds(100) 'задаём период обновления
    AddHandler updateGuiTimer.Tick, AddressOf updateGui
    updateGuiTimer.Start()
End Sub

'Обработчик события Timer.Tick().
Private Sub updateGui(ByVal sender As Object, ByVal e As EventArgs)
    txtLabel.Text = LabelPropValue 'здесь обновлять элементы GUI
End Sub

Добавить обработчик события ререндеринга (происходит около 60 раз в секунду).

Private Sub winLoaded(sender As Object, e As RoutedEventArgs)
    AddHandler CompositionTarget.Rendering, AddressOf OnRendering
End Sub

Public Sub OnRendering(sender As Object, e As EventArgs)
    txtLabel.Text = SomeProp.ToString() 'здесь обновлять необходимые элементы GUI
End Sub
Читать далее...
Subscribe to this RSS feed