Есть ли преимущество в производительности для явного указания привязки OneWay при настройке привязок в WPF? - PullRequest
9 голосов
/ 08 марта 2010

Проект, над которым я работаю, страдает некоторыми незначительными проблемами с производительностью. Наша команда выполняет множество небольших улучшений, чтобы добиться большего прироста производительности. Нам удалось помочь приложению, внеся некоторые более очевидные изменения, и мы обратились к привязке данных, чтобы обеспечить некоторые дополнительные улучшения. Я знаю, что режимом привязки по умолчанию является TwoWay, но большинство наших привязок не требует привязки TwoWay. Стоит ли тратить наше время на то, чтобы перейти и явно указать режим как OneWay, где мы приняли значение по умолчанию?

1 Ответ

4 голосов
/ 08 марта 2010

Извините, 1-я версия на 100% неверна (спасибо, @Jeffora). Я держу это здесь, иначе комментарии не имеют смысла.

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

2-я версия: Привязки OneWay и TwoWay подписываются на источник изменений, чтобы обновить целевое свойство. Таким образом, разница в производительности заключается в обновлении свойства источника, которое может оказать влияние в зависимости от того, что делает остальная часть программного обеспечения при обновлении.

Если производительность критична и ваш сценарий не требует целевых обновлений, можно использовать привязку OneTime.

Я пользуюсь возможностью этого исправления, чтобы спросить, профилировали ли вы свое приложение, чтобы найти горячие точки. Правило 80/20 (или событие 90/10) довольно часто, т. Е. Небольшое количество кода занимает большую часть затраченного времени. Не зная этого, усилия по оптимизации вообще не принесут вам никакой выгоды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...