Як можна зробити VNC швидше?


29

Мені потрібно віддалено отримувати доступ і використовувати свій робочий комп'ютер кілька разів на тиждень. Зараз я використовую UltraVNC. Я хочу використовувати VNC через ціну. Раніше я використовував VNC, в основному у власній мережі, де це швидко.

Однак VNC через Інтернет неймовірно повільний. Навіть при 256 кольорах і нижче, якщо Aero вимкнено, це нестерпно повільно. Нещодавно я використовував Ammyy Admin для підключення, щоб зробити щось, що вимагає швидкого часу реакції. Аммій справді був швидким, майже не відстаючи, і він біг у повному кольорі з Aero на!

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


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

Відповіді:


19

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

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

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

Протоколи RDP і X передають інструкції малювання замість патчів пікселів. Ось чому за певних умов вони перевершують ВНК.

Інші фірмові послуги віддаленого доступу можуть використовувати подібні методи, але вони не є документацією. Служби віддаленого доступу мають перевагу в тому, що вони можуть пробиватися через брандмауери простіше, ніж прямий віддалений доступ, вони, як правило, простіше налаштувати і мають кращу підтримку шифрування.

Я використовував VNC, віддалений робочий стіл, LogMeIn Free, PCAnywhere та віддалений X. Кожен має свої достоїнства:

  • VNC насправді працює краще, ніж інші протоколи над надзвичайно обмеженими бітрейтами. (Подумайте, комутований комутаційний зв’язок) І він працює практично на будь-якій платформі.
  • Віддалений робочий стіл добре працює над локальними мережами та інтегрується з ActiveDirectory.
  • LogMeIn чудово підходить для доступу до ПК з Windows через Інтернет, а також підтримує інтеграцію ActiveDirectory. Він має розширення ActiveX, Java, Firefox і навіть клієнт на базі HTML. Безкоштовна версія дозволяє керувати до 5 ПК. Платні версії збільшують це число, додають функції передачі файлів та функції попереднього управління.
  • PCAnywhere схожий на VNC та Remote Desktop. Він підтримує різні рівні шифрування, передачі файлів та віддаленої конфігурації. Те, що вам доведеться скласти разом з VNC та віддаленим робочим столом.
  • X є світовим еквівалентом Unix віддаленого робочого столу. Справедливості, це було набагато довше, ніж будь-який з інших протоколів. Він чудово працює через локальну мережу, але занадто балаканий через Інтернет. Кілька проектів намагалися покращити це з різним рівнем успіху. NoMachine NX, про який вже говорилося, є одним із таких проектів.

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

Особисто я спробував би кожен із них і обрав би той, який найкраще відповідає вашим потребам.


Бізнес, в якому я працював, встановив його на всіх ПК своїх клієнтів. Це працювало ефективно, поки клієнти не почали ставитись до більшої безпеки. Тоді стало великим клопотом налаштувати брандмауер кожного клієнта. Тому вони перейшли на ІТ-версію GoToMyPC. Але PCAnywhere був насправді досить добре закругленим продуктом.
Кеннет Кокран

Я хотів би побачити, як працює віддалений робочий стіл Chrome порівняно з варіантами цієї відповіді. Я виявив, що це дуже порівняно з VNC, коли він використовується при низькосмугових з'єднаннях.
Натан Осман

@NathanOsman Віддалений робочий стіл Chrome використовує кодек VP8, який Google придбав у On2 кілька років тому, тому я думаю, що це досить добре. Я не розглядав це, але думаю, що CRD просто кодує весь екран як кадри, використовуючи стиснення втрат, подібне до десятків інших відеокодеків. Після смерті комутатора вже мало стимулів для оптимізації таких обмежених бітрейтів. Ось де ВНЦ справді світила.
Кеннет Кокран

13

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

Щодо мене, я використовую RDP, і я думаю, що це точно шлях до систем Windows. Інші мали хороші результати з TeamViewer або віддаленим адміністратором .


Я збирався запропонувати NX. Ще кілька деталей: для запуску програмного забезпечення NX вам потрібна машина Linux на віддалений кінець (тобто ваш офіс). Він має шлюз VNC, завдяки якому ви можете змусити NX-сервер підключатися до локальних серверів VNC у своїй мережі. (Також можна зробити те ж саме з RDP.)
Еван,

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

NX Now підтримує сервери OS X та Windows. Це набагато швидше, ніж традиційний VNC.
Індолінг

2

Я відмовився від цього, в даний час я просто використовую LogMeIn Free, коли я перебуваю на windows і ssh з переадресацією X на Linux.


Раніше я цим користувався. Просто спробував це ще, і, здається, це робиться досить добре. Класно. Спасибі!
NickAldwin

Я би зазначив це як відповідь (дуже хочу), але вона пропонує альтернативу замість рішення. Вибачте. Це все-таки спрацювало для мене, дякую!
NickAldwin

2

Ви заглянули в UltraVNC ? У їхній системі вбудований драйвер дзеркального відео, який допомагає прискорити деякі проблеми оновлення та оповіщення. Я думаю, що це може допомогти у вашій справі, і це все ще безкоштовно.


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

1

Ви можете запустити TeamViewer як "лише локальний", якщо ви підключитесь до машини на основі їх IP-адреси. Це величезне покращення швидкості порівняно з VNC.


1

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

Командний переглядач має чудову підтримку, і вони часто відповідають на електронні листи.

Найгірше в Ammy Admin - ціна та підтримка, адже вам потрібна одна ліцензія на кожен комп’ютер, одна для клієнта та ще одна для сервера, приблизно (70 + 70) 140 євро з ліцензією Premium.

З іншого боку VNC не мають такої підтримки, оскільки вони безкоштовні.

Найкращий варіант - протестувати їх усіх і побачити, який з них краще проходить в ур-системі.


1

Спробуйте скористатися цим:

-snapfb

Замість опитування фреймбуфера дисплея X (fb) на зміни періодично копіюйте весь X-дисплей fb в основну пам'ять і вивчайте цю копію на наявність змін. За певних обставин це покращить інтерактивну реакцію або, принаймні, зробить речі більш гладкими, але в інших (більшість!) Це зробить реакцію гіршою. Якщо відео h / w fb таке, що читання невеликих плиток дуже повільне, цей режим може допомогти. Щоб збільшити "кадр", розмір екрана x bpp не може бути занадто великим. Зауважте, що цей режим дуже марно витрачає ресурси вводу / виводу пам'яті (він робить повноекранні копії, навіть якщо нічого не змінюється). Можливо, це буде корисно в програмах, схожих на захоплення відео, або там, де проблема з розбиттям вікон є проблемою.

Це вирішило для мене проблему.


0

Я знайшов безкоштовний VNC болісно повільним. У них є версія оплати - не впевнений, чи буде це набагато краще?

Якщо ви перебуваєте в середовищі Windows, мені дуже вдало вдалося з RDC (підключення до віддаленого робочого столу).


1
+1 Випадково, якраз вчора я перейшов на RDC, і він, безумовно, здається набагато швидшим та більш налаштованим для комп'ютерів Windows. Я все одно буду використовувати VNC для інших ОС, але RDC для Windows це.
Хорхе Ізраїль Пенья

RDC використовує RDP під своїм протоколом, я вважаю? Дуже погано лише його вікна, це приємно і швидко :)
rogerdpack

0

Існує версія VNC для повільних мереж під назвою TightVNC .


IMO TightVNC настільки ж повільний, і я багато
переробив

TightVNC має кращу компресію, ніж "звичайний" клієнт VNC, але це не набагато швидше. RDP - це принаймні шлях із системами Windows.
Joey

Я використовую UltraVNC, який, як я чув, може бути швидшим, ніж TightVNC.
NickAldwin

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.