Сборки .Net2, размещенные в приложении .Net4, работают лучше в x86, чем в режиме AnyCpu? - PullRequest
5 голосов
/ 23 августа 2011

У меня есть приложение .Net4 WinForms, которое ссылается на сборки .Net2 сторонних производителей, которые содержат графические элементы управления.Я заметил огромное улучшение визуальной производительности приложения, когда я случайно переключил его из AnyCpu в режим компиляции x86.Моя установка для разработки - x64 Windows 7. Улучшение как минимум в два раза, когда элементы управления отображают свои графические элементы.

Это известный факт или я что-то не так делаю?

Ответы [ 2 ]

3 голосов
/ 23 августа 2011

См. Эти две статьи об этом:

AnyCPU Exes обычно доставляют больше хлопот, чем стоят

Visual Studio: почему нет 64битовая версия?(пока)

См. также этот пост о 64-битном коде: Если я решу воспользоваться преимуществами 64-битного? , в нем четко указано, что, например, Paint.NET работаетлучше в 64-битном режиме, потому что разработчик оптимизировал код для 64-битного.

Итак, я не думаю, что вы делаете что-то не так, но, возможно, сторонний разработчик.NET сборки, которые вы используете, могут быть улучшены специально при работе в 64-битном процессе.

2 голосов
/ 23 августа 2011

Это меня не удивит.Когда вы устанавливаете приложение для компиляции «Любой ЦП», CLR генерирует приложение, которое джитер на компьютере пользователя должен дополнительно компилировать, чтобы наилучшим образом соответствовать его архитектуре.Если вы установите значение "x86", ваш компилятор dev скомпилирует приложение для машины x86, что уменьшит нагрузку на клиентские приложения.

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