Подтвердить что ты не робот

Как WPF оптимизирует цикл макета/рендеринга?

Как WPF оптимизирует цикл Layout/Rendering в высоковольтном приложении?

Например, представьте себе, что я недействительным настраиваемый элемент управления дважды в быстрой последовательности, будет ли он отображаться дважды? Существуют ли проблемы с производительностью, когда скорость обновления данных/свойств выше, чем основная ставка рендеринга?

4b9b3361

Ответ 1

Основываясь на моем опыте, я могу сказать, что нет, он не будет отображать дважды, если это достаточно быстро. Я не уверен на 100%, но вот почему я так думаю:

У нас было очень тяжелое приложение (тысячи элементов управления), это была кабинка самолета, все в wpf, каждая кнопка, переключатель, экран были перемещаемы жестом или мышью.

В кокпите было 10 000 пикселей на 10 000 пикселей и реализовано увеличение/уменьшение (с колесом мыши), панорамирование при нажатии правой кнопки мыши.

Перед оптимизацией он был очень медленным, медленным, поэтому каждый шаг "Масштаб" или шаг "Пан" занял около 1 секунды

Если я увеличил 1 раз (например, Zoom * 1.2), потребовалось 1 секунду

Если я увеличиваю 10 раз (Zoom * 1.2 X 10), это не займет 10 секунд, это займет, вероятно, 2 секунды в зависимости от скорости, которую вы прокручиваете, и она не отображает каждый шаг масштабирования, она отображает только последний...