Leistungsverlust durch VNC-Server

Sound, Digitalkameras, TV+Video und Spiele.
Antworten
comgang
Beiträge: 7
Registriert: 26.12.2018 11:52:46

Leistungsverlust durch VNC-Server

Beitrag von comgang » 15.10.2021 17:11:15

Hallo zusammen,

ich benutze einen RackPC mit Debian 11 für Audio-Processing. Ziel ist es Ardour über den PC laufen zu lassen, während ich ihn mit einem Laptop oder Tabelt Fernsteuern kann. Das klappt auch alles schon und ich habe das ganze über den TigerVNC-Server eingerichtet. Ich starte den PC, welcher automatisch einen HotSpot über einen WLan-Stick erstellt. Mit dem verbinde ich mich und starte dann mittels SSH den VNC-Server. Danach verbinde ich mich mit diesem, stelle den CPU-Gouvernour auf Performance und starte Ardour. Da ich sehr berechnungsintensive Projekte habe, die mit geringer Latenz laufen müssen habe ich aber das Problem, dass ich die Latenz über VNC deutllich höher stellen muss. Schließe ich einen Monitor an und mache alles darüber kann ich die Latenz deutlich niedriger stellen ohne Probleme mit dem DSP-Load zu bekommen. Außerdem hat der DSP-Load dann deutlich weniger Varianz, während ich über VNC immer wieder Peaks bekomme, die dann zu einem xrun führen.

ich habe das Gefühl, dass es etwas mit Berechtigungen zu tun hat. Wenn ich über den VNC-Server etwas ändern möchte (z.B. mit einem WLan verbinden), werde ich immer nach einem Passwort gefragt und kann manche Sachen gar nicht machen. Beim nm-connection-editor ist zum Beispiel der Button fürs löschen und bearbeiten ausgegraut. Das ist über einen Monitor, Maus und Tastatur nicht der Fall. Ein wenig kann ich da über die polkit-actions ändern, aber ich finde es etwas merkwürdig, da ich mich ja über VNC, als auch über den Monitor mit dem gleichen Benutzer anmelde, also sollten das ja auch die gleichen Berechtigungen sein, oder? den VNC-Server starte ich genauso über den Benutzer. Ich muss allerdings vorher den gdm-service beenden.
Im normalen Betrieb läuft übrigens alles über Wayland, während der VNC-Server über den X-Server läuft. Könnte das ein möglicher Grund sein und wie könnte ich das testen? Ich habe noch keine Möglichkeit gefunden eine Wayland-VNC-Session zu starten.

Ich laufe über den Kernel 5.14.0-12.1-liquorix-amd64 und habe wine-staging-tkg mit fsync installiert (darüber lade ich Windows-Plugins mittels yabridge). threadirqs ist beim booten aktiviert und die Soundkarte wird priorisiert.

Der Prozessor ist ein Ryzen 7 2700 und die Soundkarte ist eine RME Hammerfall 9652 (PCI-Karte)

Ich weiß nicht ganz, was hier noch für Infos benötigt werden. Also wenn ihr Vorschläge habt, was ich ausprobieren könnte wäre ich sehr dankar :)

Gruß Alex

Benutzeravatar
unitra
Beiträge: 638
Registriert: 15.06.2002 21:09:38
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.128.129.130

Re: Leistungsverlust durch VNC-Server

Beitrag von unitra » 15.10.2021 20:20:09

Hat dieses Setup was Du beschrieben hast, schon mal "performant" funktioniert oder hat sich der Leistungsverlust erst kürzlich ergeben, oder ist das ein komplett neues "Setup"?

comgang
Beiträge: 7
Registriert: 26.12.2018 11:52:46

Re: Leistungsverlust durch VNC-Server

Beitrag von comgang » 20.10.2021 11:27:13

ich habe es nie wirklich getestet. Ich wollte vor kurzem mal die Latenz weiter runter bekommen und habe es dann eben mit angschlossenem Bildschirm probiert.

Benutzeravatar
MSfree
Beiträge: 10755
Registriert: 25.09.2007 19:59:30

Re: Leistungsverlust durch VNC-Server

Beitrag von MSfree » 20.10.2021 14:21:53

Dein Geschwindigkeitsproblem hat mit Rechten nichts zu tun. Wenn ich etwas nicht darf, wird es nicht langsamer sondern es geht halt gar nicht.

Eine VNC-Server unter Llnux ist ein reiner X-Server, Wayland, das gegenüber X11 noch ein wenig schneller sein soll, unterstützt der nicht. Dazu kommt, daß VNC keinerlei Beschleunigung durch Graphikkarten erfährt, VNC hat einen sogenannten Framebuffer im Hauptspeicher des Rechners, der ausschließlich von der CPU verwalted, verändert und aufgebaut wird. Zur Übertragung im Netzwerk wird dann zwar nur die Differenz zwischen dem letzen und dem aktuellen Framebufferiinhalt übertragen, dies geschieht jedoch komprimiert, so daß die CPU hier auch nochmal Arbeit leisten muß. VNC ist auf möglichst effiziente Übertragung im Netzwerk angelegt, damit man über verhältnismässig schmalbandige Internetverbindungen noch interaktiv arbeiten kann. Die Optimierung ist nicht unbedingt auf kurze Latenzen ausgelegt.

Was deinen Berechtigungen angeht, so werden einem Benutzer, der interaktiv direkt am Rechner selbst angemeldet ist (also Maus, Tastatur und Bildschirm direkt angeschlossen), höhere Rechte zugestanden als einem Benutzer, der über das Netzwerk angemeldet ist. Das ganze regelt das Policy-Kit. So darf der lokale Benutzer Netzwerkeinstellungen vornehmen, während der fernangemeldete Benutzer dies nicht darf, der könnte sich damit nämlich aus dem System aussperren, wenn der die falschen Knöpfe drückt. Und nicht immer ist gewährleistet, daß der VNC-Server nur 3m vom fernangemeldeten Anwender läuft, Server und Client können theoretisch auch 20000km voneinander entfernt stehen.

Antworten