Pull to refresh

Comments 48

Теперь для комфортной работы с 3d моделями, программами рисования и прочими графически сложными системами не требуется ничего, кроме Windows 10 и RDP.


Не-не! Явно нужна какая-то еще магия. Поскольку есть две машины с Windows 10 1709, RDP 10.4 supported и… как обычно, никакое 3D в RDP сессии не работает, как и не работало никогда. Как у вас работает 3D? Все программы и игры пишут, что не видеокарты.
Надеюсь данный скриншот ответит на большинство ваших вопросов!
hsto.org/webt/hc/vx/t-/hcvxt-dxwpcafqjv8buqo95gkuu.png

Дело в том, что RDP получает в свое распоряжение видеокарту хоста. Доступно вся мощь, я проверял, но есть одно «но». Некоторые программы очевидно просто не желают запускаться в RDP режиме.
Запустить SketchUp в RDP я не смог! Мне пришлось запустить его в консольном сеансе, затем подключиться по RDP ^)
Потестил немного, отклик в обычных программах действительно стал отзывчивее. Но с играми чуда не случилось, большинство просто не видят видеокарту при запуске из RDP. Например, тот же самый CS: GO. Только самые-самые новые игры на свежих движках представляют собой исключение из правил: Dota2(игра старая, но движок вполне новый), PUBG. Все старые как не работали по RDP, так и не работают, никакой «мощи» там нет. Та же Star Wars Galactic Battlegrounds (клон Age of Empires 2) при запуске ругается на отсутствие Direct Draw (!!) ускорения 2D графики!
никакое 3D в RDP сессии не работает, как и не работало никогда.

Работает.
Поднимаю сессию рдп с ноута(w10) на комп(w10), и запускаю crossout, все работает — но тормозит жутко.
Ноут у меня обновлен до отказа, а на пк не хватило места обновится =), в компе стоит видеокарта AMD R7 2**

П.С.
А OpenGL+quadro уже достаточно давно работали через RDP…
После обновления сервера (ПК в вашем случае) тормоза должны исчезнуть!
Все что надо сделать — это обновиться до 1709?
Да, игровой компьютер до обновления работал на 1703. Виртуальные машины для тестов, я готовил с нуля. На всякий случай покажу как форсировать новый кодек, но вроде бы этого больше не требуется!
habrastorage.org/webt/ty/m9/_r/tym9_rymm41f3y6l7izvxiwaftc.png

Меня в RDP больше раздражает пинг. Как-то одно время работал по RDP и печать просто страшно выбешивала своим откликом.

Так и отклик, это главное, что улучшилось! Возможно я не очень хорошо осветил это.
Я тут месяц назад тестил VNC www.youtube.com/watch?v=7ZlOovE9jx4 и фпс тест на меньшем разрешении (делайте звук тише) www.youtube.com/watch?v=ykc9JQqgrxE tight, jpeg (Q5, вероятно), 1680х1050, канал, да, 100MBit/s, но на 2м видео сверху виджет скорости.
Правда в 1 видео я разговаривал с человеком параллельно через интернет, так что на звук забейте, во втором вообще заменил ибо конфиденциально.
Железяка-клиент вообще отстойная по современным меркам. Это 3гб оператоса, nvidia 240, amd athlon 5000+, все что оставил на старой квартире. А куда я заходил это да, уже мощная железка i5 3550 много оператоса и крутая видюха, а то на старом системнике хромиум лагал. На самом деле VNC на работе часто пользуюсь и проблем не вызывает. Отклик хороший. Если что это tightvnc как модуль x11 в качестве сервера.
PS: Экранки потому что не тянет захват, ну и проще
Очень не дурно. Добавлю, что в вашем виджете скорость измеряется в MiB (мебибайтах). Это значит, что 1,6 MiB на виджете будет равно 12,8 Mbps. Учитывая не полноэкранное видео, не FullHD разрешение и много статических элементов, могу сказать, что RDP намного экономнее расходует канал.
UFO just landed and posted this here
К сожалению не смог найти достоверной информации, но мне кажется, что вы правы.
Думаю со временем это перестанет быть проблемой, потому, что в рамках экосистемы Windows 10 — мажорные обновления бесплатны и появляются раз в пол года.

Часы тикают и рано или поздно любая ОС от Microsoft, установленная на компьютер, будет Windows 10

Скажите это пользователям, которые упорно цепляются за ХР, и которых все еще много.
Не говоря уже о динозаврах, которые упорно сидят на 98 (как минимум одного знаю лично).

Только где новый кодек? По названию это все тот же h264, только в режиме yuv 4:4:4. Он должен быть четче, ценой небольшого доп. битрейта. А вот задержка из-за битрейта наоборот может чуть возрасти. Вот снизиться задержка может другими параметрами, например отключенными B кадрами. По качеству весь вопрос только какую реализацию кодека использовать и какие настройки. Очень сомневаюсь, что на nvidia картах можно переплюнуть хардварный nvidia кодек, скорее всего он и используется, как и в куче другого софта.

PS: А RemoteFX, кстати, это фактически JPEG2000, вот его исходники github.com/neutrinolabs/librfxcodec. А когда он появился, помню было несколько страниц маркетинговой воды какой он хороший, но что внутри jpeg умалчивалось. Вот сейчас у меня стойкое ощущение того же самого, когда от 4:4:4 якобы опять все стало значительно лучше. Все-таки, задержка и меньший битрейт это точно не от 4:4:4.
Я конечно не специалист, но вот, что говорит сам Microsoft:
cloudblogs.microsoft.com/enterprisemobility/2016/01/11/remote-desktop-protocol-rdp-10-avch-264-improvements-in-windows-10-and-windows-server-2016-technical-preview

«As part of the AVC 444 mode in RDP 10 we solved the challenge to get 4:4:4 quality text with 4:2:0 hardware encoders / decoders. In addition, with the AVC 444 mode we were able to improve the frame throughput significantly, for example with 1440p we can achieve a consistent frame rates of up to 50 fps on standard hardware.»

Так, что вы правы, не все так просто, и вероятно они решили попутно некоторое количество технических ребусов.
И еще h264 AVC444, это не h264. Он не должен быть четче за счет битрейда, на самом деле это практически h265 (backport, если хотите), которые имеет те же характеристики!

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

В сценариях повседневного использования разница между старым и новым кодеком будет в среднем еще выше! По моим прикидкам экономия полосы 60-80%
Все же дкмаю это GPU кодер такой эффективный по сравнению с прошлым. По названию ничего не выдает в нем HEVC, h264 вполне поддерживает 4:4:4 en.wikipedia.org/wiki/H.264/MPEG-4_AVC
Support of monochrome (4:0:0), 4:2:0, 4:2:2, and 4:4:4 chroma subsampling (depending on the selected profile).

И все современные h264 кодеры это умеют. Еслиб там был h265, думаю они бы не примянули это упомянуть. Думаю дело в поддержке железа, h265 поддержтивают далеко не все. И те что поддерживают иногда есть проблемы, вот например проблема на интеле: habrahabr.ru/company/intel/blog/311320/#comment_9839892.
Возможно. Но не будем спорить о значениях слов… думаю мы оба правы.
В любом случае, результат достойный.
Не важно заслуга ли это кодека или чего то другого. Это работает!
Разрешите несколько вопросов:
— RemoteFX плохой?
— Как выяснилось, что в основе rFX jpeg2000? Реверс клиента RDP, работающего в RemoteFX?
Если честно — не знаю как выяснили, но этот кодек совместим, может декодировать то что приходит с виндового RDP и наоборот. Благодаря нему Remmina может коннектиться к винде, а на xrdp/freerdp можно заходить с винды. RemoteFX очень даже хороший в сценарии работы в ворде, почих статичных приложений, бравзере без сильной анимации. А вот для игр и видео в плеере — h264 лучше.
Так же есть очень простой софт для переброски игр, такие как Single Player Game Transmitter — в них очень просто поменять кодек. Я менял на h265/nvidia, так еще лучше.
UFO just landed and posted this here
Ну теоретически и MJPEG можно по 802.11g передать в приемлимом качестве, а RFX качественее MJPEG. Дьявол кроется в деталях — надо измерять и сравнивать. Кстати не факт что у вас H264 не включался, алгоритм выбора виндового сервера не известен. Чтобы быть уверенным надо собрать клиент с чем-то типа libfreerdp и прологировать что там приходит, в самом портоколе может быть все вот это github.com/neutrinolabs/xrdp/blob/devel/xrdp/xrdp_mm.c#L65. Так же WMP, например, умеет делать отдельный канал для видео, хотя в игре поддержка врядли есть.
С включенным RemoteFX — WMP уже не будет снимать нагрузку с процесора сервера и декодировать видео на стороне клиента.
Но это было забавно — когда я смотрел видео 1080p, а нагрузка на процесор сервера была по нулям…
Для типовых программерских задач то, что намутили в 10-ке, ужасно.

Захожу с Windows 8 по RDP на сервер Windows 2012R2 — всё четко, максимальное качество картинки.
Захожу на Windows Server 2016 — мелькают артефакты сжатия при смене всяких окон. При работе с FAR сначала при обновлении панелей сначала картинка прорисовывается схематически-мутно, а через полсекунды стабилизируется, как при загрузке прогрессивного jpeg.

Не исключено, что кодеки 10-ки в каких-то случаях лучше, но конкретно на моих задачах выходит как png vs jpg.
Windows Server 2016 получает обновления функций из LTS канала. Другими словами новый кодек все еще не доступен для сервера.
Точнее вероятно он доступен, но как я писал в статье, раньше с ним были проблемы и он был отключен по-умолчанию!
Дело не в новом кодеке, а вообще в подходе (до Win10 же всё было хорошо, я думаю были lossless кодеки). Возможно, дело в настройках. Завтра попробую поиграться с опциями в RDP-клиенте. Но с настройками по умолчанию, как только я зашёл по RDP на новый сервер, впечатление было ужасное.
Я понял, но сжатие в RDP можно вообще выключить или настроить соотношение качество\скорость. По-умолчанию это соотношение = баланс.

Думаю с появлением h264 у MS была дилемма, оставить как было, или использовать новый на тот момент «быстрый» кодек в ущерб качеству. Теперь такой дилеммы не стоит.
Возрадуемся!
Новость понравилась. Если учесть уменьшение расхода трафика при той же картинке )
Как я понял работает только в 10 десктопе. А с какой версии?
И будет ли работать на тонких клиентах?
Для работы на обоих пк должна стоять 10?
Я понял, но сжатие в RDP можно вообще выключить или настроить соотношение качество\скорость.

А как это сделать?
И еще вопрос
Насчет тонких клиентов, думаю, что работать будет, когда обновят прошивку, так как MS умудрились сделать совместимость с обычными h264 кодерами\декодерами.
Версия Windows10, где установлен RDP сервер должна быть самой свежей 1709. Посмотреть версию Windows можно при помощи winver (пуск — выполнить — winver)

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

Принудительное включение кодека и его настройки можно выполнить через групповые политики.
Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Remote Session Environment

Подробности здесь
На самом деле немного напрягают рывки картинки. Это проблема же не слабого канала? У вас есть тесты нагрузки на процессор с быстрой и динамической картинкой? Было бы интересно посмотреть. Я сейчас как раз глянул в исходники на ЯД. У меня VNC получше работает (имхо) с работы домой, но трафика жрёт да больше, хотя если выставить низкое качество может чего то и получится сопоставимое. Я тут несколько постов назад на слабой железке показывал тест.
Боюсь, что для энерго-эффективного процессора ноутбука может быть сложно захватывать видео и рендерить RDP FullHD. К сожалению у меня нет отдельной платы видео захвата.
Не исключаю, что VNC в игровых сценариях может работать лучше… Но я все равно остался крайне доволен. Старый и новый RDP — земля и небо. Поверьте. К тому же все шрифты и текст теперь пиксель-в-пиксель. Ничего не раздражает глаз. Реакция на нажатие в Word\Excel моментальная.

Кстати, небольшой офтоп. Во время сравнения шрифтов и текста, я отчетливо понял, что мой 27 дюймовый IPS монитор от Acer несравненно хуже монитора жены. Dell Ultrasharp.
Косые линии в SketchUp имеют на моем мониторе какую то рябь или стробицу.
Думали, что проблема в RDP, оказалось в мониторе! Заказал себе новый монитор в магазине.
Версия Windows10, где установлен RDP сервер должна быть самой свежей 1709. Посмотреть версию Windows можно при помощи winver (пуск — выполнить — winver)

Спасибо)
То то я вижу что с RDP что-то произошло. Когда заходил на дjмешний ПК с ноута на обоих Win 1709.
Вопрос по теме, существует ли какие нибудь решения для стрима игр и медиаконтента, с использованием нескольких тонких клиентов? Хочется иметь дома один мощный ПК с несколькими видеокартами для проброса на виртуальную машину. Дома имеется гигабитный лан. Я так понял из действительно производительных решений есть TERA Host Card (вроде бы дает плавную картинку и минимальные задержки), но уж больно не дешевое решение получается. Может есть какие нибудь альтернативные варианты?
Нужно решить 2 проблемы:
1) Виртуализация с поддержкой проброса видеокарты
2) Не лагающий стриминг.

Решения:
1) Proxmox — на хабре уже печатали статьи об этом гипервизоре и о том, как пробрасывать видеокарту внутрь VM
2) Steam трансляции — безоговорочный лидер для игр. Попробуйте, между 2 обычными компами. Никаких лагов, все летает. Кроме того в отличие от RDP, игры не будут капризничать.
На самом деле проброс видеокарты уже и не проблема (за редким исключением), особенно с амд видеокартами. Можно прогуглить тему vga passthrough. Пользуюсь уже 2 года. У меня: Gentoo, KVM, Qemu 2.10, edk2-ovmf-git, Intel i5-3550, Nvidia GTX650TI Boost. В виртуалке Win 10.
А VirGL не пробовали? Как оно сейчас?
К сожалению не пробовал, но звучит интересно. Сначала я подумал что это костыль вместо Nvidia Optimus, но нет, мне кажется я что то подобное видел у товарища на маке. У него там виртуалка parallels. Вы дали интересную пищу для размышлений. Пойду почитаю.
Здравствуйте, извеняюсь за оффтоп, но уже дней 5 эксперементирую с вертуализацией. В интернете полно информации, но почти вся она древняя за 12-14 годы. Основная цель моей идеи, это выделить старую видеокарту 560ti исключительно на виртуалку. Использовал разные варианты, сейчас тестирую Hyper-V. Читал что виртуалки адекватно кушают только всякие квады, можно ли без лишнего гемороя пробросить видеокарту?

Делаю все это дело, чтобы друг один мог через домашнюю трансляцию стима играться во всякое. Нужна полная поддержка видеокарты, у RemoutFX я так понимаю потолок это 11 директ, но играми кушаеться очень плохо и не всегда (приходится с бубном над конфигами прыгать). Если взять fortnite, по логике remoutfx имеет функции 10.1, но при запуске ругается мол что видеокарта не имеет такого. Грешил в начале на сборку винды, накатывал разные итог один.

Думал копать в сторону Xen, но еще слабоват я для линукса и прочего. В реалиях Hyper-V без квада никак? Читал про перепайку транзисторов на матери, чтобы определялась как квад, но это уже мракобесие. Я так понял, если даже и пробросить видеокарту, она сама понимает что находится в виртуалке и не хочет корректно работать. (могу ошибаться)

p.s. (знакомства с виртуализацией раньше не имел)
p.p.s (процессор и мать поддерживает все необходимое для проброса и виртуализации)
К сожалению, коммерческие системы виртуализации, такие, как Hyper-V, ESXI нельзя настроить на проброс видеокарт, не предназначенных для этого. Это договоренность производителей видеокарт и гипервизоров.

Вам нужен гипервизор KVM. Для простоты советую использовать Proxmox (это такой законченный продукт для виртуализации, использующей KVM).

Про то, как пробрасывать видеокарту внутрь KVM почитайте тут:
habrahabr.ru/post/339456

PS: Xen тоже это позволяет, но как гипервизор он для меня давно умер…
Спасибо, быстро ответили)

Я так понял там не принципиально что за видеокарта, но вот с дровами проблемы могут быть. Попробую провернуть это дело в выходные.
Кстати, не знаю как сейчас, но в 2015 году в нем (Xen) у меня очень близкая производительность была относительно голого железа, в среднем порядка 90-95% (точно не помню) процессора в различных тестах на Core i5 3550. Но я не смог тогда затолкать в него nvidia по причине того что драйвер обнаруживает то, что он внутри виртуальной машины (находит гипервизор, в qemu-kvm оно маскируется флагами для процессора: -cpu host,hypervisor=off,...), хотя амд радеон который у меня был работал хорошо, но был очень старый и слабый. Хотя уже после того как смог завезти Nvidia под qemu-kvm я к xen не возвращался, но меня привлекала в нём возможность на уровне xen разделить домены виртуальных машин, выделив отдельно кусок оперативной памяти и количество cpu.
Что вы подразумеваете под «домашнюю трансляцию стима»?
Зачем вам «велосипед» если стим сам может все стримить?

П.С.
На quadro играть не получится — fps будет ниже чем у жфорсоф.

П.П.С.
3Д через «удаленное подключение» для домашних пользователей экономичиски не выгодная фича…
Под домашней трансляцией я подразумеваю функцию стрима экрана на удаленную машину клиент. Работает все это дело только внутри локальной сети. Доступ сделал через эмулятор локалки evolve (не скажу точно эмулятор это или нет)

вот тут написано про примочку habrahabr.ru/post/223999

Велосипед я строил, дабы одновременно 2 человека могли за одной машиной работать. Грубо говоря на одной виртуалке сижу я, на другой сидит друг. Логика какая, на мошине хосте стоит 2 виртуалки, на одной из них я ставлю evolve и стим. На машине клиенте ставлю стим и эволв тоже. Кидаю их в одну сеть, а дальше устанавливаю игры на виртуалку и можно смело запускать их через стим. Тут все упирается только в пропускную способность интернета по сути.

А чем это все плохо то?
я так делал с ноутбука. Я просто в виртуальную машину мостом сеть прокинул, а с ноутбука подключался к домашней сети. Делал еще веселее когда на роутере vpn сервер поднял и сетку домашнюю в нее завернул. На работе в свободное время развлекался, хотя все же из за хилого роутера подлагивало и я плюнул на эту идею и больше к ней не возвращался, видимо не очень то оно мне и надо.
По вафле есть вариант если 5 герц роутер. У меня тут через вайфай вообще не вариант проделывать. С любого места в квартире штук 20-25 вайфаев ловит. Итог, либо провод, либо смена вайфая. Провод сделать проще, да и пинг меньше.
Sign up to leave a comment.

Articles