3D в виртуальных машинах

7 декабрь, 2009 - 15:05Игорь Дериев

В последнее время вышло несколько принципиальных релизов ПО для организации персональных виртуальных машин, в которых разработчики усиленно напирают на поддержку 3D и смежных функций. Но оказывается, что не все то 3D, что так называется…

Для начала стоит понять, зачем вообще 3D может понадобиться в виртуальной машине (ВМ). Я крайне скептически отношусь к идее замены обычного десктопа на ВМ там, где требуется профессионально исполнять серьезные приложения и 3D в том числе, скажем, CAD, специальные редакторы и т.д. В этих случаях ценен каждый процент производительности и, соответственно, нет никакой логики в усложнении системы. Игры также не беру в рассмотрение – во-первых, там не менее важна производительность, во-вторых, в домашних условиях ВМ – не такое дешевое удовольствие, так как требует дополнительную лицензию на персональную ОС (очевидно, Windows). Остаются всего несколько разумных сценариев, ориентированных на офисную среду: обеспечение совместимости со старым ПО и подстраховка при миграции на новую платформу, разработка ПО для специфических платформ, обучение. Пожалуй, все.

Первым сценарием в наибольшей степени озабочена Microsoft, благодаря чему мы получили обновленный Windows Virtual PC, а пользователи старших редакций Windows 7 – и бесплатно XP Mode, т.е. ВМ под управлением заведомо лицензионной Windows XP. Microsoft, кстати, единственная, кто, кажется совсем не озабочен поддержкой 3D – об этой стороне вы не найдете ни слова. Вопросы производительности решаются на самом базовом уровне – за счет требования аппаратной поддержки виртуализации. В противном случае Windows Virtual PC просто не станет работать. По Интернету бродят слухи, что кому-то удалось добиться работы Aero в ВМ с Windows 7, если хост-система также Windows 7. Мне это сразу казалось маловероятным, так как Windows Virtual PC эмулирует всего лишь S3 Trio 32/64, и, естественно, никакие инструкции не помогли мне добиться результата собственноручно.

Почему я обратил внимание именно на Aero, а не какой-то другой аспект поддержки 3D. Он мне кажется наиболее показательным для двух последних сценариев. Т.е. если уж что-то разрабатывать, имея в виду Windows 7, то конечно с поддержкой всех ее новых интерфейсных возможностей (о чем писал Вячеслав Колдовский). Аналогично, если в учебном классе развертывать рабочие места, то, наверное, на современной ОС, которая, в силу уже очевидного признания, будет вытеснять старые.

Следом я взял недавно вышедший VirtualBox 3.1. Бесплатный для персонального использования продукт, хотя в учебном классе за него, видимо, потребуется заплатить. Зато разработчики изначально уделяли определенное внимание поддержке 3D, но в основном OpenGL. Впрочем, она до сих пор находится в экспериментальном состоянии, а значит функционирует не вполне или не всегда гладко. Aero естественно не работает, хотя с этого релиза дело дошло и до DirectX. В частности, присутствует еще более экспериментальная функция 2D ускорения, которая, по задумке, в первую очередь должна отразиться на воспроизведении в ВМ видео. Трудно сказать, почему именно этот аспект так заинтересовал разработчиков, но в своих экспериментах (при соблюдении всех необходимых условий) я должного эффекта не ощутил – кадры все равно пропускались даже на сравнительно несложном ролике. Возникали у меня и другие претензии к VirtualBox, хотя продукт безусловно интересен хотя бы своей всеядностью по сравнению с Windows Virtual PC – в частности, аппаратная поддержка виртуализации не является категорическим требованием (хотя конечно предпочтительна, в версии 3.1 от нее обещают приличный эффект), а спектр официально поддерживаемых гостевых ОС значительно шире.

3D в виртуальных машинах

А вот также недавно появившейся Vmware Workstation 7 есть чем похвастать. Aero заработал сразу же после установки в ВМ интеграционного пакета, да так, что его отзывчивость мало чем уступала таковой для хост-системы. Я даже специально провел небольшой эксперимент на своих домочадцах, попросив их побродить по самой ОС и Интернету – ВМ при этом работала в полноэкранном режиме и была оснащена (чего-то я изначально пожадничал) всего 512 МБ оперативной памяти. «Виртуальности» происходящего никто не ощутил. При этом стоит вспомнить, что экспериментальная поддержка 3D была заявлена, кажется, еще несколько лет назад в Vmware Workstation 5 – и вот только сейчас она доведена до такого полноценного состояния. Так что, как говорил товарищ Бендер: «Одни из вас играют в шахматы хорошо, другие – плохо, и никакие лекции не изменят этого положения дел, если…» – в общем, все, наверное, помнят. :) С другой стороны, отсюда, вероятно, и немалая цена.

3D в виртуальных машинах

Кстати, кроме заявленных «крупных» новшеств в Vmware Workstation 7 порадовала также масса продуманных мелочей. К примеру, в отличие от остальных систем виртуализации Vmware Workstation 7 предоставляет полный доступ к настройкам даже выполняющейся ВМ – допустим, можно «на лету» увеличить объем выделяемой памяти: при этом автоматически создастся «слепок» ВМ, вступят в силу все конфигурационные изменения, и ВМ стартует снова с того же места. Конечно, не Live-режим, но на него не приходится и рассчитывать, когда речь идет о клиентских ОС.

Еще в теме 3D в ВМ хотелось бы, конечно, добавить впечатления от XenClient, однако у Citrix явно что-то не заладилось с клиентским гипервизором и обещанная еще в ноябре бета отложена на неопределенный срок.