Использование памяти: WPF против Windows Forms - PullRequest
1 голос
/ 02 декабря 2010

Простой пример приложения с нулевой функциональностью демонстрирует удивительную разницу в использовании памяти.

Числа находятся в частных байтах и ​​используют .NET 4.0.

  • WPF - 56 МБ
  • Windows Forms - 13 МБ

Общеизвестно, что фреймворки ничего не делают, но я все еще удивлен этой разницей. Можно ли ожидать, что приложение, созданное с использованием WPF, будет потреблять на 30-40 МБ больше личных байтов в качестве стоимости использования WPF?

Ответы [ 3 ]

6 голосов
/ 02 декабря 2010

Из этих данных нет.Что вы можете сделать, это то, что приложение, которое ничего не делает будет потреблять на 43 МБ больше в WPF.или оставайся постоянным.Нет возможности узнать.

4 голосов
/ 02 декабря 2010

Я рекомендую вам попробовать создать пользовательский интерфейс с 10 000 элементов управления в WPF и аналогичный пользовательский интерфейс в WinForms, а затем проверить, как используется память.Это довольно просто сделать программно - просто создайте форму и добавьте, например, 10 000 TextBox объектов в ее коллекцию Controls.(Оповещение спойлера: вам нужно использовать число, которое меньше 10 000 с WinForms.) Это также не даст вам особенно точного сравнения, но оно более точное, чем приложение, которое ничего не делает, и оно будетпреподам вам ценный урок о средствах управления без окон.

0 голосов
/ 02 декабря 2010

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

Преимущество WPF состоит в том, что он более «экономит время разработчика» (для создания многофункциональных пользовательских интерфейсов), чем WinForms, а не более «эффективно использует память» или «эффективен при использовании ЦП».

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

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