Я написал простое игровое приложение в WPF. Количество нарисованных объектов находится в пределах возможностей WPF - что-то вроде нескольких сотен эллипсов и линий с простыми заливками. У меня есть DispatcherTimer
, чтобы время от времени корректировать положение объектов (1/60 секунды).
Код для вычисления новых позиций может быть довольно интенсивным, когда имеется много объектов, и может полностью загрузить процессор. Всякий раз, когда это происходит, WPF начинает пропуск кадров, предположительно пытаясь компенсировать «медлительность» моего приложения.
То, что я бы много скорее всего произошло, это чтобы все кадры были нарисованы так или иначе, только медленнее. Пропущенные кадры не увеличивают скорость, потому что визуальные обновления в любом случае были довольно быстрыми.
Могу ли я каким-то образом заставить WPF отразить изменения на визуальном экране на экране, независимо от того, считает ли WPF, что это хорошая идея?