Jak mogę przyspieszyć VNC?


29

Muszę zdalnie uzyskiwać dostęp i korzystać z mojego komputera służbowego kilka razy w tygodniu. Obecnie używam UltraVNC. Chcę używać VNC ze względu na cenę. Wcześniej korzystałem z VNC, głównie w mojej własnej sieci, gdzie jest szybki.

Jednak VNC przez Internet jest niewiarygodnie wolny. Nawet przy 256 kolorach i niższych, z wyłączonym Aero, jest nieznośnie powolny. Ostatnio użyłem Ammyy Admin do połączenia, aby zrobić coś, co wymaga szybkiego czasu reakcji. Ammyy była naprawdę szybka, prawie bez opóźnień, i działała w pełnym kolorze z włączonym Aero!

Jak mogę przyspieszyć VNC, tak jak Ammyy? Użyłabym Ammyy, ale prawdopodobnie dość szybko osiągnęłam limit 15 godzin / miesiąc. Jakieś sugestie?


Czy zainstalowałeś i włączyłeś sterownik dublowania zgodnie z sugestią Dillie-O?
stukelly

Odpowiedzi:


19

VNC ma pewne ograniczenia związane z używanym protokołem. RFB, zdalny bufor bufora, działa poprzez przesyłanie prostokątów pikseli przez sieć. Im wyższa rozdzielczość i głębia bitowa, tym większa przepustowość wymagana do wysyłania aktualizacji. Istnieje już kilka optymalizacji serwerów / klientów VNC:

  1. Wysyłaj tylko zmienione regiony, buforując niezmienione regiony na kliencie.
  2. Kopiowanie buforowanych regionów na kliencie, gdy nastąpią zmiany.
  3. Różne formy bezstratnej i stratnej kompresji

Możesz manipulować ustawieniami zarówno na kliencie, jak i na serwerze, aby sprawdzić, które ustawienia najlepiej pasują do Twojego połączenia internetowego. Każdy klient może połączyć się z dowolnym serwerem, ponieważ negocjuje w celu ustalenia, które funkcje protokołu są obsługiwane, ale najlepiej użyć klienta i serwera tej samej firmy, jeśli chcesz użyć bardziej zaawansowanych funkcji protokołu.

Protokoły RDP i X przesyłają instrukcje rysowania zamiast łatek pikseli. Dlatego w niektórych warunkach są one lepsze od VNC.

Inne zastrzeżone usługi zdalnego dostępu mogą wykorzystywać podobne techniki, ale są nieudokumentowane. Usługi dostępu zdalnego mają tę zaletę, że łatwiej przebijają się przez zapory ogniowe niż bezpośredni dostęp zdalny, zwykle są łatwiejsze do skonfigurowania i mają lepszą obsługę szyfrowania.

Korzystałem z VNC, Remote Desktop, LogMeIn Free, PCAnywhere i zdalnego X. Każdy ma swoje zalety:

  • VNC faktycznie działa lepiej niż inne protokoły przy bardzo ograniczonej przepływności. (Pomyśl połączenie modemowe) I działa na praktycznie każdej platformie.
  • Pulpit zdalny działa dobrze w sieciach LAN i bezproblemowo integruje się z ActiveDirectory.
  • LogMeIn doskonale nadaje się do uzyskiwania dostępu do komputera z systemem Windows przez Internet, a także obsługuje integrację ActiveDirectory. Ma rozszerzenia ActiveX, Java, Firefox, a nawet klienta opartego na HTML. Darmowa wersja pozwala zarządzać maksymalnie 5 komputerami. Płatne wersje zwiększają tę liczbę, dodają funkcje przesyłania plików i zaawansowane zarządzanie.
  • PCAnywhere jest podobny do VNC i Remote Desktop. Obsługuje różne poziomy szyfrowania, przesyłania plików i zdalnej konfiguracji. Rzeczy, które musisz połączyć razem z VNC i Pulpitem zdalnym.
  • X jest światowym odpowiednikiem pulpitu zdalnego w Uniksie. Szczerze mówiąc, trwało to o wiele dłużej niż jakikolwiek inny protokół. Działa świetnie przez LAN, ale jest zbyt rozmowny przez Internet. Kilka projektów próbowało to poprawić z różnym powodzeniem. Wspomniany już NoMachine NX jest jednym z takich projektów.

Wszystkie protokoły zdalnego dostępu, o których wspomniałem, są dostępne za darmo (z systemem operacyjnym lub do pobrania), z wyjątkiem PcAnywhere, który jest sprzedawany przez Symantec.

Osobiście spróbowałbym każdego z nich i wybrał ten, który najlepiej odpowiada Twoim potrzebom.


Firma, dla której pracowałem, zainstalowała go na wszystkich komputerach swoich klientów. Działał skutecznie, dopóki klienci nie zaczęli zwracać większej uwagi na bezpieczeństwo. Później trudno było skonfigurować zaporę ogniową każdego klienta. Więc przeszli na wersję IT GoToMyPC. Ale PCAnywhere był właściwie dość dobrze zaokrąglonym produktem.
Kenneth Cochran

Chciałbym zobaczyć, jak działa Pulpit zdalny Chrome w porównaniu z opcjami zawartymi w tej odpowiedzi. Przekonałem się, że jest bardzo porównywalny do VNC, gdy jest używany w połączeniach o niskiej przepustowości.
Nathan Osman

@NathanOsman Pulpit zdalny Chrome używa kodeka VP8 Google zakupionego od On2 kilka lat temu, więc wyobrażam sobie, że jest całkiem dobry. Nie przyjrzałem się temu, ale myślę, że CRD po prostu koduje cały ekran jako klatki przy użyciu stratnej kompresji podobnej do dziesiątek innych kodeków wideo. Wraz ze śmiercią dialupu nie ma już zachęty do optymalizacji pod kątem tak ograniczonej przepływności. Właśnie tam VNC naprawdę zabłysło.
Kenneth Cochran

13

Możesz wypróbować NoMachine NX . Mój przyjaciel z powodzeniem wykorzystał go do zwiększenia prędkości VNC.

Jeśli chodzi o mnie, używam RDP i myślę, że zdecydowanie jest to dobry wybór dla systemów Windows. Inni mieli dobre wyniki z TeamViewer lub Remote Administrator .


Chciałem zasugerować NX. Jeszcze tylko kilka szczegółów: do uruchomienia oprogramowania NX potrzebujesz komputera z linuksem na drugim końcu (tj. W biurze). Ma bramę VNC, dzięki której serwer NX może łączyć się z lokalnymi serwerami VNC w swojej sieci. (Można zrobić to samo z RDP.)
Evan

> Mój przyjaciel z powodzeniem wykorzystał go do zwiększenia prędkości VNC. Po prostu drobiazg, ale NX różni się całkowicie od VNC (chociaż wykonują podobne funkcje)
Jason Axelson

NX obsługuje teraz serwery OS X i Windows. Jest znacznie szybszy niż tradycyjny VNC.
Indolering

2

Zrezygnowałem z tego, teraz po prostu używam LogMeIn Free, kiedy jestem na Windowsie i ssh z X przekazywaniem na Linuksie.


Użyłem tego jakiś czas temu. Właśnie spróbowałem i wydaje się, że idzie całkiem nieźle. Fajne. Dzięki!
NickAldwin

Oznaczę to jako odpowiedź (naprawdę chcę), ale oferuje alternatywę zamiast rozwiązania. Przepraszam. Ale to zadziałało, dzięki!
NickAldwin

2

Czy zajrzałeś do UltraVNC ? Mają wbudowany w system lustrzany sterownik wideo, który pomaga przyspieszyć niektóre problemy z odświeżaniem i powiadomieniami. Myślę, że może to pomóc w twoim przypadku i nadal jest bezpłatne.


hehe, nie martw się. Wiem, że istnieje milion smaków VNC, chciałem tylko rzucić ten pomysł.
Dillie-O

1

Możesz uruchomić TeamViewer jako „tylko lokalny”, jeśli zrobisz to, podłączając się do komputera na podstawie jego adresu IP. Jest to ogromna poprawa prędkości w porównaniu z VNC.


1

Przetestowałem je wszystkie niedawno i Ammy Admin jest najlepszy na liście pod względem ogólnych celów. Temviewer działa również doskonale i ma obsługę Androida i Mac, więc jest to świetna opcja podczas łączenia z / do innego systemu operacyjnego. Zarówno Ammy Admin, jak i TeamViewer obsługują Directx, więc możesz grać lub oglądać gry na ekranie, jednak Team Viewer działa naprawdę wolno i nie polecałbym tego do gier. Testowane z Guild Wars 2 i Diablo 3. Testowałem także Directx z UltraVNC, TightVNC i RealVNC, ale nie mogłem zmusić ich do współpracy z grami Directx. Po wejściu do gry wyświetlane jest tylko czarne okno. (komputer nie zawiesza się, pokazuje tylko czarne okno, które można zminimalizować).

Team Viewer ma świetne wsparcie i chętnie odpowiada na e-maile.

Najgorszą rzeczą w Ammy Admin jest cena i wsparcie, ponieważ potrzebujesz jednej licencji na każdy komputer, jednej na klienta i drugiej na serwer, około (70 + 70) 140 euro z licencją Premium.

Z drugiej strony VNC nie mają tak dużego wsparcia, ponieważ są bezpłatne.

Najlepszym rozwiązaniem jest przetestowanie ich wszystkich i sprawdzenie, który z nich działa lepiej w twoim systemie.


1

Spróbuj użyć tego:

-snapfb

Zamiast sondować bufor ramki wyświetlania X (fb) w poszukiwaniu zmian, okresowo kopiuj cały X wyświetlacz Fb do pamięci głównej i sprawdź tę kopię pod kątem zmian. W niektórych okolicznościach poprawi to interaktywną odpowiedź lub przynajmniej sprawi, że wszystko będzie wyglądało płynniej, ale w innych (najbardziej!) Pogorszy odpowiedź. Jeśli wideo w / w fb powoduje, że czytanie małych kafelków jest bardzo wolne, ten tryb może pomóc. Aby utrzymać „szybkość klatek” w górę, rozmiar ekranu x bpp nie może być zbyt duży. Należy pamiętać, że ten tryb jest bardzo marnotrawstwem zasobów we / wy pamięci (wykonuje kopie pełnoekranowe, nawet jeśli nic się nie zmienia). Może być przydatny w aplikacjach podobnych do przechwytywania wideo lub w których rozrywanie okien stanowi problem.

To rozwiązało problem dla mnie.


0

Odkryłem, że wolne VNC jest boleśnie wolne. Mają wersję płatną - nie jesteś pewien, czy będzie znacznie lepiej?

Jeśli pracujesz w środowisku Windows, miałem dużo szczęścia z RDC (Remote Desktop Connection).


1
+1 Przypadkowo, właśnie wczoraj przełączyłem się na RDC i zdecydowanie wydaje się być znacznie szybszy i bardziej konfigurowalny dla komputerów z systemem Windows. Nadal będę używać VNC dla innych systemów operacyjnych, ale RDC dla Windows to jest.
Jorge Israel Peña

Uważam, że RDC używa protokołu RDP poniżej dla swojego protokołu? Szkoda tylko z jego oknami, jest ładny i szybki :)
rogerdpack,

0

Istnieje wersja VNC dla wolniejszych sieci o nazwie TightVNC .


IMO TightVNC jest równie powolny, a ja dużo poprawiałem ustawienia, próbując znaleźć coś lepszego
zildjohn01

TightVNC ma lepszą kompresję niż „zwykły” klient VNC, ale nie jest dużo szybszy. RDP to sposób na przynajmniej system Windows.
Joey

Używam UltraVNC, o którym słyszałem, że może być szybszy niż TightVNC.
NickAldwin

UltranVNC ma ulepszenia protokołu od TightVNC.
Evan

0

Miałem straszny UX korzystający z VNC w sieci lokalnej, jednak kiedy próbowałem zalogować się przez:

ssh -X -C 

i za pomocą

xtightvncviewer :$THEDISPLAY

wydajność jest znacznie lepsza w porównaniu do innych kombinacji ...

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.