RDP — самый распространённый протокол и клиент для удалённого доступа к рабочему столу. Но у него тоже есть свои недостатки: низкая производительность и ненадёжность. Поэтому приходится использовать альтернативы вроде Sunshine+Moonlight, которые в некоторых случаях обеспечивают лучшее качество.

Однако для удалённого управления сервером RDP остаётся признанным стандартом. Что же делать, если RDP тормозит? Как «ускорить» удалённый рабочий стол, если соединение с сервером неустойчивое? Эта тема актуальна для фрилансеров, админов, игроков, удалённых сотрудников и др. Они могут оптимизировать настройки своего ПК и удалённого сервера (если есть доступ), чтобы уменьшить лаги.

Почему RDP тормозит?

Главная причина лагов — не самое оптимальное сжатие видео. В этом направлении наука не стоит на месте. Почти каждый год выходят новые версии видеокодеков с реализацией новых методов сжатия и инновационными оптимизациями существующих алгоритмов. Например, на декабрь 2025 года запланирован официальный релиз свободного видеокодека AV2, который по всем показателям превосходит кодеки предыдущего поколения AV1 (2018 г.) и VVC/H.266 (2020 г.).

Что касается RDP, то он не поддерживает последние кодеки. Последними существенными оптимизациями клиента Microsoft Remote Desktop Client (MSRDC) стали поддержка H.265 в 2024 году и поддержка RDP Multipath в июле 2025-го, с версии MSRDC 1.2.6074 и Windows App 2.0.366.0.

До этого предыдущим апгрейдом RDP стала поддержка AVC/H.264 в Windows 10 и Windows Server 2016 десять лет назад. Сейчас большинство стандартных конфигураций RDP работает на этом старом кодеке.

Вообще, новые версии протокола RDP выпускаются минимум два раза в год. Последняя мажорная версия 61.0 датируется апрелем 2025 года и описана в 444-страничном документе (PDF, DOCX). Несмотря на внушительный объём, документ не полностью документирует особенности работы проприетарного протокола и ПО.

Клиент MSRDC обновляется с кумулятивными апдейтами Windows. Проверить текущую версию RDP можно следующей командой в PowerShell (для классического встроенного клиента mstsc.exe):

(Get-Item "C:\Windows\System32\mstsc.exe").VersionInfo | Select FileVersion

Другой вариант — через Get-AppxPackage, если клиент установлен из Microsoft Store:

Get-AppxPackage -Name "Microsoft.RemoteDesktop" | Select Name, Version

Проверяем версию RDP на VPS c Windows Server 2016:

Более новые версии RDP обычно обеспечивают лучшую производительность за счёт новых видеокодеков, использования UDP-транспорта вместо TCP и других совершенствований. По идее, чтобы активировалась какая-то новая функция, новая версия RDP должна быть установлена и на сервере, и на клиенте (хотя это не гарантирует, что функция действительно заработает в проприетарном и недокументированном протоколе).

Для обновления RDP на сервере см. официальную инструкцию по обновлению RDP от Microsoft.

Отдельный инсталлятор Remote Desktop в формате .msi удалили из Microsoft Store в мае 2025 года, поддержка прекратится в марте 2026-го. В будущем всех призывают переходить на приложение Windows App под Windows, macOS, iOS/iPadOS, Android, Chrome OS и для веб-браузеров.

Windows App
Windows App

Правда, оно пока не поддерживает службы удалённого рабочего стола под Windows:

Оптимизация настроек RDP

Основные оптимизации RDP направлены на уменьшение трафика между клиентом и сервером:

  • Отключить визуальные эффекты Windows: анимации, фон рабочего стола, прозрачность. На вкладке «Взаимодействие» указано, какие функции автоматически отключаются зависимости от качества соединения: содержимое рабочего окна при перетаскивании и др.

Это означает, что эти функции увеличивают трафик. Для оптимизации можно вручную отключить некоторые из них, если они не нужны. В Windows настройки производительности разбросаны по разным разделам, многие находятся в разделе «Дисплей»:

  • Уменьшить разрешение экрана и снизить цветовую глубину, например, с 32 до 16 бит:

  • Отключить звук:

  • Отключить использование принтеров и других ненужных локальных устройств (они перечислены на вкладке «Подробнее»):

  • Определять качество соединения автоматически (адаптивное качество): современные версии RDP автоматически подстраивают поток под скорость сети. Эта опция работает примерно как автоматическое снижение качества видео на YouTube.

Оптимизация всей системы

Дополнительные методы устранения задержек RDP направлены на повышение производительности всей системы: сервера и/или клиента, смотря на какой стороне возникают лаги:

  • Оптимизировать сетевые параметры, в том числе MTU. Некоторые специалисты считают, что оптимальное значение MTU составляет 1400–1472 байт для RDP через VPN или нестабильный интернет.

  • Настроить приоритет для RDP-трафика в маршрутизаторе.

  • Обновить железо: память, CPU, GPU.

  • Улучшить качество интернет-соединения и маршрутизацию (например, заменить WiFi на Ethernet, выбрать провайдера с лучшим пингом до сервера, с меньшим количеством промежуточных узлов между клиентом и сервером, изменить географическую локацию VPS).

Поскольку перечисленные методы улучшают производительность всего компьютера, а не только RDP, то и локальные, и облачные программы, удалённый десктоп и интернет-приложения станут работать быстрее (с меньшим пингом, лучшим битрейтом и т. д.). Бывает, что эти методы даже более эффективны, чем оптимизация настроек RDP.

Чтобы оценить влияние настроек на производительность RDP, можно сравнить производительность системы до и после оптимизации.

Влияние настроек на производительность лучше всего видно при нагрузочных сценариях вроде видеостриминга.

То есть мы запускаем на сервере видеотрансляцию, а на клиенте просматриваем её через RDP. Качество передачи можно проверять разными способами. Например, использовать встроенный «Системный монитор» (perfmon) или специализированный софт вроде Wireshark (анализ сетевого трафика), RDAnalyzer (утилита для оценки RDP-потока), OBS Studio (лучшая программа для видеозахвата, она показывает точную статистику по фреймрейту) или AnyViewer (альтернативный RDP-клиент, который показывает статистику). В общем, способов много, попробуем некоторые из них.

Для тестов возьмём свежий VPS от UltraVDS с Windows Server 2016:

Подключаемся к VPS и замеряем производительность сразу после установки ОС, то есть со всеми настройками по умолчанию, вообще без оптимизаций. Для теста можно запустить на сервере какое-нибудь видео. Скопируем на сервер файл South.Park.S28E03.1080p.WEBDL.RGzsRutracker.mkv размером 876 МБ (видео 1920×1080, 24 fps, кодек H.264, битрейт примерно 9 Мбит/с) и запустим его:

Бесплатная версия RDAnalyzer показывает только самую базовую статистику:

Платный сервис более информативен:

Но мы его не пробовали, а сам сервис недоступен для IP из РФ.

Второй способ — Wireshark. Здесь можно использовать фильтр для RDP:

tcp.port == 3389 || udp.port == 3389

Это покажет весь трафик, связанный с RDP (TCP и UDP):

B третий вариант — замерить количество кадров в секунду на видео в OBS Studio. Настраиваем захват окна RDP на 30 fps:

Производим запись, а затем прогоняем её через FFmpeg:

ffmpeg -i D:\1\rdp_test.mp4 -vf mpdecimate -loglevel debug -f null -

Эта команда убирает дубликаты кадров и показывает, сколько уникальных кадров реально было. Если поток лагает, то уникальных кадров меньше 30 в секунду. Вот что получилось в нашем случае:

На входе 963 кадра (32 сек), а на выходе 268 уникальных, то есть 27,83%. Реальный фреймрейт около 8 fps.

Теперь проведём вышеупомянутые оптимизации, уменьшим разрешение экрана до 800×600, снизим качество с 32 до 16 бит, отключим звук и принтеры, а также произведём апгрейд сервера:

Снова запускаем видео и проверяем количество уникальных кадров:

ffmpeg -i D:\1\rdp_test2.mp4 -vf mpdecimate -loglevel debug -f null -

Здесь на входе 1063 кадра (35,43 сек), а на выходе 456, то есть 42,0%. Фреймрейт вырос с 8 до 13 fps. Это существенное уменьшение лагов и подтормаживаний по RDP.

В принципе, можно оценить вклад каждой отдельной оптимизации в общее ускорение. Будет интересно узнать о таких результатах (в комментариях).

При этом нужно учесть, что в наших тестах и сервер, и клиент подключены к довольно качественному интернет-каналу, то есть изначально оптимизации RDP не были крайне необходимы. Но они работают в любом случае. В случае явных «тормозов» улучшения ещё больше видны на глаз, даже без специальных инструментов для оценки.

Альтернативные RDP-клиенты

Кроме официального клиента от Microsoft, можно попробовать в деле альтернативные программы. Например, клиент IronRDP — это реализация официального клиента на языке Rust со встроенной в синтаксис защитой памяти, что теоретически обеспечивает меньшее количество ошибок в коде и лучшую стабильность.

Разработчики считают, что из-за специфики языка Rust клиент IronRDP более безопасно использовать, чем официальный клиент.

Есть и другие альтернативы, которые якобы «оптимизировали алгоритмы передачи» и обещают лучшую производительность RDP, в том числе на своих серверах. Но это платные сервисы, у которых есть коммерческий интерес вводить в заблуждение пользователей относительно своей производительности. Без объективных тестов трудно утверждать, что они быстрее официального клиента RDP от Microsoft, даже если заявляют об этом.

Комментарии (2)


  1. igrblkv
    12.12.2025 12:44

     AnyViewer (альтернативный RDP-клиент, который показывает статистику)

    Оно точно в RDP умеет?
    Больше на ЭниДеск похож.

    Нашёл инструкцию:
    Шаг 1. Запустите AnyViewer на обоих компьютерах.
    Везде обман!


  1. SlFed
    12.12.2025 12:44

    Добавлю еще немного по оптимизации сервера.

    Отключаю службу "Темы" на сервере и ставлю в автозагрузку пользователей батничек с очисткой каталога %TMP%