У меня есть приложение WPF. Существует несколько окон (каждая из которых работает в своем потоке) 5 - 10 окон. Каждый из них имеет только один значительный контроль (который является сетью данных). Каждая сетка данных имеет 2000-3000 строк и 5 столбцов. Каждая строка данных, привязанная к элементу, и когда свойства элемента изменяются, пользовательский интерфейс сильно меняется (90% изменений - текст, передний план, фон). Во всех окнах есть 1000 изменений в секунду.Производительность на виртуализации WPF
Если я переключу вируализацию на переработку, приложение потребляет на 35-40% меньше памяти.
Однако я предполагаю, что если контейнер arent переработал, код должен работать быстрее (поскольку .NET не требуется повторно связывать контейнеры и переоценивать dep реквизиты и может быть больше).
Неужели кто-нибудь попытался разобраться в этом подробно?
Есть падение производительности/преимущество при помощи переработки контейнеров (однако маленький это мне нужно знать).
EDIT: Элементы, которые получают обновления, являются видимыми на 95% (другими словами, если строка невидима, вероятность 99% она не будет обновлена). Также содержимое/номер строки сетки никогда не изменяется. В ячейках меняются только текст и цвета. Строки всегда остаются неизменными.
'Спасибо за то, что вы добавили информацию и не сказали мне, что мне это не нужно. ** Преждевременная оптимизация - это корень всего зла **. Я не говорю, что вам это не нужно. Я просто говорю, что если ваше приложение работает нормально, и нет проблемы с производительностью, тогда нет ничего, чтобы оптимизировать –
очень жаль здесь .. но я не просил помочь мне оптимизировать мое приложение .. я бы никогда .. я знаю, как занят вы все .. Я просто спрашиваю, чтобы я знал .. спасибо снова –