Тестируем RemoteFX

Желание сделать домашний компьютер бесшумным рано или поздно посещает почти любого владельца настольного компьютера. Если компьютер используется, как печатная машинка, эта задача более менее реализуема. Но если вы пользователь 3D-игр либо других ресурсоемких приложений, то радостного мало. Либо вы приобретаете систему жидкостного охлаждения, либо серьезно вкладываетесь в бесшумные компоненты ПК.

С выходом технологии RemoteFX у вас появилась неплохая альтернатива: где-то далеко стоит мощный сервер, а на вашем рабочем месте тихий бездисковый клиент.

Microsoft анонсировал эту технологию относительно недавно – вместе с первым сервис-паком для Windows 2008 Server R2. Самое вкусное в этой технологии не проброс USB и не VOIP, а возможность виртуализовать графический адаптер.

Причем, если не ошибаюсь, Microsoft чуть ли не единственный вендор, позволяющий “расшарить” графический адаптер, а не отдать его монопольно ресурсоемкой ВМ. Кстати, пару лет назад Миша Михеев писал про RemoteFX.

Есть свежие презентации с Платформы, где демонстрируются возможности RemoteFX по рендерингу 3D-объектов для института МАИ. Впечатляет 🙂

В качестве тестирования я использовал следующий стенд:

– сервер: ПК 1*Core i3-2100/8GBRAM, Windows 2008 R2 SP1 Trial/ NVIDIA SVGA 1GB;

– виртуальная машина: 1vCPU/2GB, Windows 7 SP1 Enterprise Trial;

– клиент: ноутбук Core2Duo ~ 2GHz/2GB RAM, Windows 7 SP1 Home Premium.

Сервер и клиент связаны Wi-Fi роутером D-Link 🙂

Требования к RemoteFX:

  • SLAT-совместимый процессор;
  • GPU – видеокарта с поддержкой DirectX 9.0 и DirectX 10.0 (RemoteFX использует WDDM);
  • Соответствование требованиям Hyper-V R2 SP1;
  • Удаленные клиенты с поддержкой RDP 7.1 (встроена в Windows 7 SP1).

Так как сервер по совместительству является домашним ПК, операционная система сервера находится в VHD-файле, любезно предоставленном компанией Microsoft для ознакомления с продуктом 🙂

Лицензирование

Все достаточно радужно: вы можете использовать RemoteFX на бесплатном сервере Hyper-V R2, необходимо будет заплатить только за ОС, установленные в виртуальных машинах. В качестве такой ОС поддерживаются только Windows 7 SP1 Enterprise/Ultimate.

Настройка стенда:

1) Установка сервера Hyper-V R2 SP1/Windows 2008 R2 SP1

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

2) Поднимаем роль Hyper-V, а также компонент “RDS-RemoteFX”, входящий в состав роли Remote Desktop.

3) Создаем ВМ на основе VHD с оценочной Windows 7 SP1 Ultimate в менеджер Hyper-V. Добавляем ей 2 гигабайта ОЗУ. Настраиваем в ВМ компоненты интеграции, брандмауэр, включаем RDP, после чего выключаем ВМ.

4) Добавляем в ВМ адаптер “RemoteFX 3D” и включаем ВМ. В свойствах адаптера можно указать количество мониторов и разрешение – эти настройки влияют на объем видеопамяти RemoteFX. Если у видеоадаптера не будет требуемого количества свободной памяти, ВМ не запустится.

Внимание: после добавления этого видеоадаптера подключиться к ВМ через консоль Hyper-V будет невозможно!

5) Настраиваем профиль подключения к ВМ следующим образом:

6) Подключаемся с ноутбука через RDP и проверяем какой видеоадаптер установлен в системе. Если “Microsoft Remote FX Graphics Device –WDDM”, то все получилось.

Тестирование

Для тестирования я воспользовался относительно свежим 3D-шутером Deus Ex 3: Human Revolution.

Первый же блин был комом – на максимальных настройках игра быстро вылетела с ошибкой нехватки памяти. Это и не мудрено: ВМ использовала 220 Мб видеопамяти, а минимальные требования – 512мб. Пришлось достаточно прилично снизить используемые настройки, оставив разрешение 1024х768 (самое адекватное для моего ноутбука).

Ура, игра запустилась и я смотрю без тормозов стартовый трейлер. Потрясающие ощущения.

Как видите, загрузка процессора на уровне 40%, сети – в пике до 20Мбит/с. RemoteFX явно не оптимизирован для WAN.

Затем начинается игра. Что за ужас – при любом движении мышью экран будто сходит с ума. Подвигался с помощью клавиатуры – подтормаживает 🙁

Возможно, это отголоски Wi-Fi и в локальной сети все будет быстрее.

Дальше решил поразбираться, что за ерунда с мышью…

Выяснил, что есть два режима позиционирования мыши: абсолютный и относительный. При абсолютном передаются текущие координаты указателя, при относительном – смещение относительно предыдущей позиции. В RDP передается только абсолютный режим, а в 3D-шутерах используется относительный. Решение есть – геймпад 😉

Постойте, а как же Crisis? Его же “запихивали” в RemoteFX? Все просто – к разработке Crisis приложила руку MS и оставила там возможность абсолютного режима позиционирования мыши.

Выводы

1) Технология уже сейчас вполне применима для того, чтобы виртуализировать 3D приложения (CAD) рендеринга объектов. Правда, налагаемые требования к клиенту (RDP 7.1) несколько осложняют широкое распространение. Разделение видеоадаптера между несколькими ВМ – значительное преимущество, особенно, Nvidia Quadro Plex 7000.

2) Крайне не хватает оптимизации под узкие каналы связи. Впрочем, задержка при маршрутизации будет критична для работы 3D-игр.

3) Невозможно указать большее количество видеопамяти, чем запрограммировано на текущие настройки монитора ВМ. К примеру, нельзя дать ВМ 512МБ видеопамяти.

4) Крайне огорчает отсутствие поддержки относительного режима позиционирование мыши, без которого не поиграть в большинство 3D-шутеров.

P.S. Говорят, что в Windows 8 появится оптимизация RemoteFX под WAN-каналы и возможность эмуляции 3D-адаптера (без наличия его в сервере) 😉

3 thoughts on “Тестируем RemoteFX”

  1. Домашний ПК не получился 🙁
    Из плюсов только просмотр видео без тормозов

  2. Я думаю что сей продукт позиционировался как решения тонких клиентов для работ в автокад, 3д макс, архикад и подобных приложениях требующих масштабного рендеринга с 3д ускорением ))
    Насчет игр у мелких были очень мягкие и не смахивающие на реальность представления

  3. В принципе, с играми все грустно 🙂
    Для мало-мальски приятного геймплея в 3D надо 25fps, для приятного в районе 50. Подозреваю, остальным типам игр время отклика также желательно на уровне 25fps.
    Соответственно, время отклика сервера надо держать на уровне 20-40мс, что тяжко для маршрутизируемой сети.

Leave a Reply

Your email address will not be published. Required fields are marked *