Производительность таймера и DispatcherTimer

Я не имею в виду конкретный сценарий, но этот вопрос только что пришел мне в голову, когда я думал о сценариях, в которых я мог бы использовать таймер вместо DispatcherTimer.

В сценарии, в котором я должен выполнять вычислительно-интенсивную задачу всякий раз, когда срабатывает событие таймера, а затем вносить незначительные изменения в пользовательский интерфейс, было бы лучше с точки зрения производительности:

  1. использовать обычный таймер, а затем используйте Диспетчер приложения для измените пользовательский интерфейс
  2. , используйте DispatcherTimer (и, возможно, сделайте мои вычисления интенсивная работа в некотором асинхронном фоновом воркере при необходимости).

Я предполагаю, что сохранение потока пользовательского интерфейса разблокированным как можно дольше улучшит взаимодействие с пользователем. Если это рекомендуется , есть ли какие-то уловки, о которых мне следует знать в таком сценарии?

РЕДАКТИРОВАТЬ:

У меня такое чувство, что мой вопрос недостаточно ясен, поэтому я собираюсь чтобы попытаться добавить конкретный, хотя и выдуманный пример.

Допустим, мне нужно читать большой файл каждые 2 минуты, и когда я закончу, мне нужно добавить элемент в ListBox. Скажем, чтение / обработка файла занимает 10-15 секунд, в течение которых я не работаю с пользовательским интерфейсом. Что было бы лучше всего для подобного?

9
задан K Mehta 4 December 2011 в 10:10
поделиться