WPF VS2010 плохо рендерится внутри виртуальной машины Windows7?
Кевин Хоффман сегодня утром сообщает, что:
Когда виртуальная машина работает под управлением Windows 7, VS2010 не в состоянии визуализировать вещи, границы исчезают, окна становятся непригодными для использования, и впечатление совершенно ужасное. С другой стороны, когда вы запускаете VS2010 "голый металл" без виртуализации между ним и вашей видеокартой, все прекрасно и все работает хорошо.
Что из-за виртуальной машины может привести к плохой визуализации WPF VS2010?
5 ответов
WPF рендерит вещи на поверхности Direct3D. Он может использовать преимущества аппаратного ускорения, предоставляемого графическими картами, для повышения производительности. В виртуальных машинах эти функции могут быть недоступны.
Я еще не пробовал VS2010, но вы можете столкнуться с известной проблемой с приложениями WPF в виртуальных машинах. Попробуйте отключить аппаратное ускорение, как описано здесь:
http://msdn.microsoft.com/en-us/library/aa970912.aspx
Наше пользовательское приложение WPF, работающее на ВМ, имело схожие проблемы с производительностью, и это исправило его для нас.
Как говорит Мерад, виртуальные машины на самом деле не виртуализируют 3D-оборудование (в этой области уже проделана определенная работа, но я думаю, что это только более старые версии DirectX), а WPF использует графический процессор для более эффективной визуализации, поэтому он должен используйте программное обеспечение для рендеринга на виртуальной машине, и это значительно медленнее.
Если у вас многоядерный компьютер и вы используете диспетчер виртуальных машин, который поддерживает выделение нескольких ядер виртуальной машины, вы можете рассмотреть возможность добавления большего количества ядер к виртуальной машине, чтобы лучше использовать ресурсы ЦП, или использовать изменения реестра Кевина.
Я использую Windows 7 + VS 2010 + WPF и все в порядке, однако я использую VMWare Fusion с включенным аппаратным ускорением.
VS2010 не является законченным продуктом и довольно тесно связан с различными элементами родных графических интерфейсов системы (которые в Windows 7, также не являются готовым продуктом, не полностью культивируются). Не удивительно, что две бета-версии, работающие в виртуализированной среде, будут иметь проблемы. Как уже говорилось, это может быть проблемой Aero, которая тесно связана с аппаратным рендерингом DirectX. Эти проблемы могут не возникать при классическом предположении, что Win7 имеет это.