Высокая загрузка процессора - WPF - PullRequest
0 голосов
/ 04 ноября 2019

В моем проекте WPF всякий раз, когда пользовательский интерфейс обновляется (например, каждые 5 секунд), загрузка ЦП% увеличивается до 40-50%

Я запускаю таймер для обновления пользовательского интерфейса:

      PeriodicTimer = ThreadPoolTimer.CreatePeriodicTimer(async (source) => 
      {
          await StartRecurringPatientWatcher();
      }, period);


      private async Task StartRecurringPatientWatcher() 
      {
          try 
          {
              allPatients = _localDb.GetAllPatientsWithProgress().OrderBy(x => x.Priority).ToList();

              await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.High, () => 
              {
                  //Responsible of updating data
                  PatientUIWatcherJob.Job(this, _localizationProv, allPatients, Patients, IsDragging);
              });
           }
           (...)
...