Возможна ли разработка WPF под VM? - PullRequest
5 голосов
/ 08 февраля 2009

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

Однако я разрабатываю WPF и SilverLight GUI для Vista x64. Я могу использовать 64-разрядные версии ОС под виртуальной машиной, но меня беспокоит производительность графики для WPF и особенно запуск Expression Blend. Я ожидаю, что понадобится графический процессор!

В настоящее время у меня установлена ​​виртуальная виртуальная машина для 32-разрядного тестирования XP. Это или версия VMWare, вероятно, будет лучше для WPF, и если так, есть ли различия в версии? Я уже могу создавать виртуальные машины с помощью своего VMWare Fusion на OS / X, поэтому просто использовать бесплатный VMWare Player - это нормально - я не смог найти никаких комментариев о различиях в поддержке GPU между проигрывателем и рабочей станцией.

Моя основная машина для разработки Windows - это только ноутбук Dell (Latitude 830) с 4 ГБ ОЗУ, но мне приходится работать на ноутбуке для посещений клиентов, поэтому я не склонен выкладывать дополнительный рабочий стол.

Ответы [ 7 ]

5 голосов
/ 09 февраля 2009

Попробовав сам, я бы рекомендовал избегать использования виртуальной машины для разработки WPF. Движок WPF использует ускорение DirectX для визуализации контента, а поддержка DirectX в VMWare неполная (хотя и намного лучше, чем несуществующая поддержка DirectX в MS Virtual PC).

Проблема, с которой вы столкнетесь, заключается в том, что Visual Studio и Expression постоянно перерисовывают ваш XAML, пока вы работаете над ним, что требует значительной пропускной способности графического процессора. Работа внутри виртуальной машины просто не сокращает ее, и, в зависимости от вашей настройки, в VS 2008 вы увидите либо черные / пустые, либо не отвечающие окна дизайнера.

Если это вообще возможно, продолжайте разработку на своем локальном рабочем столе.

1 голос
/ 02 марта 2010

Parallels 5 кажется намного быстрее, чем моя Fusion VM в WPF. VS2010 загружается намного быстрее и не имеет всех глюков видео ... Это отстой, потому что я использую Fusion последние несколько лет и не хочу переключаться, но P5 кажется намного лучше с WPF до сих пор .

1 голос
/ 08 февраля 2009

Как помещение среды разработки в виртуальную машину помогает вашей производительности?

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

Как это продуктивно?

Кроме того, виртуальные машины работают лучше всего, когда у вас много-много памяти, а файл виртуальной машины находится на другом физическом диске, чем ваша установка Windows - и то, и другое нелегко сделать на ноутбуке.

0 голосов
/ 26 февраля 2010

Я нашел еще лучший способ: запретить доступ к d3d9.dll. Удалите его или отредактируйте права доступа (как я сделал), чтобы к нему нельзя было получить доступ. В WPF: 0, 1, 2.

есть несколько уровней.

2 все портит. 0 не так быстро, как 1. DisableHWAcceleration заставляет уровень равным 0. Я не нашел другого способа, кроме запрета d3d9.dll.

К счастью, это сработало. Microsoft Expression заработал без проблем. Хотя я не уверен, что уровень действительно 1.

0 голосов
/ 25 февраля 2010

На данный момент я нашел только одно решение: подключиться к VMWare через RDP. Таким образом, Microsoft Expression не дает сбоя.

(Когда я впервые увидел его, я подумал, что Microsoft действительно выпустила такой незрелый продукт)

Я попытаюсь выяснить, возможно ли отключить DirectX (или принудительно включить DirectX 8) без входа в систему через RDC.

0 голосов
/ 15 июля 2009

В VirtualBox 3.0 добавлена ​​поддержка DirectX 8/9 в Windows - см. http://www.virtualbox.org/manual/UserManual.html#guestadd-3d, что может помочь. Я еще не пробовал это лично.

0 голосов
/ 09 февраля 2009

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

Единственная вещь, с которой у вас действительно возникнут проблемы, - это попытаться разработать WPF поверх удаленного рабочего стола с множеством анимаций / видео и т. Д.

Кстати, в качестве возможной альтернативы, пусть виртуальная машина разделяет раздел логического диска с большинством инструментов разработки, а при необходимости запускает Expression Blend локально и открывает проект.

...