Рейтинг@Mail.ru

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

Опубликовано в Полезные советы

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

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

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

Опубликовано в Полезные советы

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

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
Подробнее ...
Подписаться на этот канал RSS