Как я могу сделать VNC быстрее?


29

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

Тем не менее, VNC через Интернет работает очень медленно. Даже при 256 цветах и ​​ниже, с выключенным Aero, это невыносимо медленно. Недавно я использовал Ammyy Admin для подключения, чтобы сделать что-то, требующее быстрого времени реакции. Ammyy был очень быстрым, почти без лагов, и работал в полноцветном режиме с включенным Aero!

Как я могу сделать VNC быстрее, как Ammyy? Я бы использовал Ammyy, но, вероятно, довольно быстро столкнулся бы с лимитом 15 часов в месяц. Какие-либо предложения?


Вы установили и включили драйвер зеркала в соответствии с рекомендациями Dillie-O?
stukelly

Ответы:


19

VNC имеет некоторые ограничения, присущие используемому протоколу. RFB, удаленный кадровый буфер, работает путем передачи прямоугольников пикселей по сети. Чем выше разрешение и битовая глубина, тем больше пропускной способности требуется для отправки обновлений. Есть несколько оптимизаций VNC-серверов / клиентов, которые уже делают:

  1. Отправлять только измененные регионы, кэшируя неизмененные регионы на клиенте.
  2. Копирование кэшированных областей на клиенте, когда изменения происходят.
  3. Различные формы сжатия без потерь и с потерями

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

Протоколы RDP и X передают инструкции рисования вместо фрагментов пикселей. Вот почему в некоторых условиях они превосходят VNC.

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

Я использовал VNC, Remote Desktop, LogMeIn Free, PCAnywhere и Remote X. У каждого есть свои достоинства:

  • VNC на самом деле работает лучше, чем другие протоколы при чрезвычайно ограниченных битрейтах. (Подумайте о коммутируемом соединении) И оно работает практически на любой платформе.
  • Удаленный рабочий стол хорошо работает в локальных сетях и легко интегрируется с ActiveDirectory.
  • LogMeIn отлично подходит для доступа к ПК с Windows через Интернет, а также поддерживает интеграцию ActiveDirectory. Он имеет расширения ActiveX, Java, Firefox и даже клиент на основе HTML. Бесплатная версия позволяет вам управлять до 5 ПК. Платные версии увеличивают это число, добавляют функции передачи файлов и расширенного управления.
  • PCAnywhere похож на VNC и Удаленный рабочий стол. Он поддерживает различные уровни шифрования, передачи файлов и удаленной настройки. Вещи, которые вы должны собрать вместе с VNC и Remote Desktop.
  • X является мировым эквивалентом удаленного рабочего стола в Unix. Честно говоря, это было намного дольше, чем любой другой протокол. Он отлично работает в локальной сети, но слишком болтлив в Интернете. Несколько проектов пытались улучшить это с переменным уровнем успеха. NoMachine NX, как уже упоминалось, является одним из таких проектов.

Все протоколы удаленного доступа, которые я упомянул, свободно доступны (либо с ОС, либо в виде загрузки), кроме PcAnywhere, который продается Symantec.

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


Бизнес, на котором я работал, установил его на всех компьютерах своих клиентов. Он работал эффективно до тех пор, пока клиенты не стали более уязвимыми. Затем стало очень сложно настраивать брандмауэр каждого клиента. Поэтому они перешли на ИТ-версию GoToMyPC. Но PCAnywhere был довольно неплохим продуктом.
Кеннет Кохран

Мне бы очень хотелось посмотреть, как работает Chrome Remote Desktop по сравнению с параметрами в этом ответе. Я обнаружил, что он очень сопоставим с VNC, когда используется через соединения с низкой пропускной способностью.
Натан Осман

@NathanOsman Chrome Remote Desktop использует кодек VP8, который Google приобрел у On2 несколько лет назад, поэтому я думаю, что он довольно хорош. Я не рассматривал это, но я думаю, что CRD просто кодирует весь экран как кадры, используя сжатие с потерями, подобное десяткам других видеокодеков. Со смертью dialup больше нет стимулов для оптимизации для таких ограниченных битрейтов. Вот где VNC действительно сиял.
Кеннет Кокран

13

Вы можете попробовать NoMachine NX . Мой друг использовал его с некоторым успехом в увеличении скорости VNC.

Что касается меня, я использую RDP, и я думаю, что это определенно путь для систем Windows. Другие имели хорошие результаты с TeamViewer или Remote Administrator .


Я собирался предложить NX. Еще несколько подробностей: вам понадобится Linux-машина на удаленном конце (то есть в вашем офисе) для запуска программного обеспечения NX. Он имеет шлюз VNC, с помощью которого вы можете подключить сервер NX к локальным серверам VNC в своей сети. (Можно также сделать то же самое с RDP.)
Эван

> Мой друг использовал его с некоторым успехом в увеличении скорости VNC. Просто ничтожество, но NX полностью отличается от VNC (хотя они выполняют аналогичные функции)
Джейсон Аксельсон

NX теперь поддерживает серверы OS X и Windows. Это намного быстрее, чем традиционный VNC.
помещении

2

Я отказался от этого, в настоящее время я просто использую LogMeIn Free, когда я нахожусь на Windows и SSH с пересылкой X на Linux.


Я использовал это некоторое время назад. Просто дал ему еще одну попытку, и, похоже, все идет хорошо. Круто. Благодарность!
Ник Алдвин

Я хотел бы отметить это как ответ (я действительно хочу), но он предлагает альтернативу вместо решения. Сожалею. Это сработало для меня, хотя, спасибо!
Ник Алдвин

2

Вы смотрели в UltraVNC ? В их систему встроен зеркальный видеодрайвер, который помогает ускорить некоторые проблемы с обновлением и уведомлением. Я думаю, что это может помочь в вашем случае, и это все еще бесплатно.


Хехе, не беспокойся. Я знаю, что существует миллион разновидностей VNC, просто хотел отказаться от этой идеи.
Дилли-О

1

Вы можете запустить TeamViewer как «только локальный», если вы подключитесь к компьютеру на основе их IP-адреса. Это огромное улучшение скорости по сравнению с VNC.


1

Протестировал их все недавно, и Ammy Admin является лучшим в списке в общих целях. Temviewer также отлично работает и поддерживает Android и Mac, поэтому его можно использовать при подключении к другой ОС. Ammy Admin и TeamViewer поддерживают Directx, поэтому вы можете играть или видеть игры на экране, однако Team Viewer работает очень медленно, и я не рекомендую его для игр. Протестировано с Guild Wars 2 и Diablo 3. Также протестировано Directx с UltraVNC, TightVNC и RealVNC, но я не смог заставить их работать с играми Directx. Когда вы входите в игру, отображается только черное окно. (компьютер не зависает, просто показывает черное окно, которое вы можете свернуть).

Team Viewer имеет отличную поддержку, и они часто отвечают на электронные письма.

Самое плохое в Ammy Admin - это цена и поддержка, потому что вам нужна одна лицензия для каждого компьютера, одна для клиента и другая для сервера, около (70 + 70) 140 евро с премиум-лицензией.

С другой стороны, VNC не имеют такой большой поддержки, поскольку они бесплатны.

Лучший вариант - протестировать их все и посмотреть, какой из них лучше работает в вашей системе.


1

Попробуйте использовать это:

-snapfb

Вместо того, чтобы опрашивать кадровый буфер дисплея X (fb) на предмет изменений, периодически копируйте весь дисплей X fb в основную память и проверяйте эту копию на наличие изменений. При некоторых обстоятельствах это улучшит интерактивный отклик или, по крайней мере, сделает вещи более гладкими, но в других (большинство!) Это ухудшит отклик. Если видео h / w fb таково, что чтение маленьких плиток идет очень медленно, этот режим может помочь. Чтобы сохранить «частоту кадров», размер экрана x bpp не может быть слишком большим. Обратите внимание, что этот режим очень бесполезно расходует ресурсы ввода-вывода памяти (он делает полноэкранные копии, даже если ничего не меняется). Это может быть полезно в приложениях, подобных захвату видео, или там, где разрыв окна является проблемой.

Это решило проблему для меня.


0

Я обнаружил, что бесплатный VNC мучительно медленный. У них есть платная версия - не уверены, будет ли это намного лучше?

Если вы находитесь в среде Windows, мне очень повезло с RDC (Remote Desktop Connection).


1
+1 По совпадению, только вчера я переключился на RDC, и он определенно выглядит намного быстрее и более настраиваемым для компьютеров с Windows. Я все еще буду использовать VNC для других ОС, но RDC для Windows это так.
Хорхе Исраэль Пенья

Я полагаю, что RDC использует RDP для своего протокола. Жаль только его окна, это красиво и быстро :)
rogerdpack

0

Существует версия VNC для более медленных сетей, которая называется TightVNC .


IMO TightVNC такой же медленный, и я много раз подправлял настройки, пытаясь найти что-то лучшее
zildjohn01

У TightVNC сжатие лучше, чем у «обычного» VNC-клиента, но оно не намного быстрее. RDP - это путь, по крайней мере, для систем Windows.
Джои

Я использую UltraVNC, который, как я слышал, может быть быстрее, чем TightVNC.
Ник Алдвин

UltranVNC имеет улучшения протокола от TightVNC.
Эван

0

У меня был ужасный UX с использованием VNC в локальной сети, однако, когда я попытался войти в систему:

ssh -X -C 

и используя

xtightvncviewer :$THEDISPLAY

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

VNC server default format:
      16 bits per pixel.
      Least significant byte first in each pixel.
      True colour: max red 31 green 63 blue 31, shift red 11 green 5 blue 0
    Using default colormap which is TrueColor.  Pixel format:
      32 bits per pixel.
      Least significant byte first in each pixel.
      True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0
    Same machine: preferring raw encoding
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.