Mindestanforderungen für einen dedizierten VNC-Client

Bei vielen Gelegenheiten habe ich darüber nachgedacht, ein kleines Hobbyprojekt durchzuführen, um einen minimalen dedizierten VNC-Client zu entwerfen, im Wesentlichen mit dem Ziel eines Cloud-basierten Computers für 2 US-Dollar! (ok $2 ist völlig willkürlich gewählt).

Für diejenigen, die mit VNC nicht vertraut sind: Es ist ein System zur gemeinsamen Nutzung des grafischen Desktops eines Remote-Computers mit einer lokalen Computerressource. Es gibt VNC-Software-Clients für Windows, *nix, MAC, iOS, Android usw. usw. Natürlich gibt es auch andere Desktop-Sharing-Systeme wie RDP, aber betrachten wir VNC einfach als einfacher.

Es gibt eindeutig die folgenden Hauptsubsysteme

1.Input - PS2 keyboard & mouse
2.Desktop frame decoding
3.Network communciations
4.Frame buffer / Display 
I'm ignoring the transmission and decoding of audio, file transfer, printing, etc etc.

Meine Frage ist dann, könnte ein einfaches Mikrocontroller-Board (z. B. PiC, AVR usw. mit PS2-Anschlüssen, Ethernet-Anschluss und VGA-Ausgang) den Durchsatz eines Host-Desktops mit einer Auflösung von 1280 x 800 und einer Bildrate von 60 fps bewältigen? Wenn nicht, mache ich das gerne mit dedizierter Hardware auf einem FPGA (obwohl ich mir nicht sicher bin, wie ich mit dem Netzwerkverkehr umgehen soll), möglicherweise unter Verwendung von Open-Source-IP von Leuten wie Opencores.org

Alle mögliche Gedanken würden geschätzt! Hoffentlich ist meine Frage für diesen Bereich des Stapelaustauschs geeignet. Ich bin mir nicht sicher, ob superuser.com oder servervault über die Erfahrung mit Mikrocontrollern verfügen, um Einblicke zu geben. Ich schätze jedoch, dass meine Frage etwas offen ist. Ich werde versuchen, die Durchsatzspezifikationsanforderungen weiter aufzufüllen, wenn ich eine Chance bekomme.

danke leute!

Und VNC bedeutet was?
@LeonHeller VNC ist ein ziemlich bekanntes Akronym – Virtual Network Computing en.wikipedia.org/wiki/Virtual_Network_Computing – im Grunde eine Möglichkeit, Ihre grafische Desktop-Anzeige über eine Netzwerkverbindung aufzurufen.
@LeonHeller, VNC ist wie von vicatcu beschrieben. Es ist ein bekanntes Akronym, dennoch habe ich meine Frage aktualisiert, um dies zu verdeutlichen.
@trican, wirf einen Blick auf den Parallax-Propeller. Es kann VGA-Signale verarbeiten und die Community hat wahrscheinlich einen TCP-Stack dafür. Es hat ziemlich viel PS, aber ich weiß nicht, wie gut es mit VNC umgehen würde. Ich bin mir der Mindestanforderungen für ein VNC-Projekt nicht wirklich sicher, aber ich wäre neugierig, was die Leute auftauchen.
Ich wollte nur sagen, du musst posten, wie du 60 fps über VNC bekommst. VNC ist hundelangsam!
:-) @dextorb 60 fps ist wahrscheinlich unrealistisch und in der Tat unnötig (es sei denn, ein Teil des Remote-Desktops ist Video). Ist die Langsamkeit von VNC nicht eher eine Folge der Netzwerkbandbreite als des Protokolls selbst? Vielleicht ist eine NX-Maschine ein besserer Ausgangspunkt für das Desktop-Sharing
VNC- Server können sehr klein sein. Das Opensource-Contiki-Projekt hat eines mit einem TCP/IP-Stack auf einem AVR. Die VNC-Logik für einen Client wird in den Schatten gestellt, was erforderlich ist, um einen Anzeige- und Netzwerkstapel mit den Geschwindigkeiten auszuführen, die Sie für die gewünschte Leistung benötigen.
Dies ist möglicherweise besser für superuser.com oder serverfault.com geeignet, da Sie anscheinend nach hohen Rechenanforderungen suchen.
Danke @KrisBahnsen - ich hatte noch nie von Parallax Propeller gehört, interessante Sachen
Ich vermute, Sie werden am Ende etwas entwerfen, das dem Raspberry Pi sehr ähnlich ist, mit der Mühe, es selbst herzustellen, und den gleichen Kostenproblemen (einfach eine Platine mit Ethernet-, PS2-, Video- und Stromanschlüssen zu bekommen, wird wahrscheinlich Ihr 2-Dollar-Budget überschreiten bevor du irgendeine Logik darauf anlegst)
@ pjc50 Je mehr ich mich damit befasse, desto mehr neige ich dazu, Ihnen zuzustimmen. Wenn Sie das als Antwort posten, akzeptiere ich es gerne. Ein leichter Mikrocontroller wäre nicht in der Lage, den Durchsatz zu erreichen, und obwohl eine kundenspezifische Lösung aus Ressourcen- und wahrscheinlich Energieverbrauchssicht viel leichter wäre, ist sie wahrscheinlich den Aufwand oder die Kosteneinsparung (falls vorhanden) im Vergleich zu viel nicht wert funktionsfähiger Raspberry Pi.

Antworten (2)

Ich vermute, Sie werden am Ende etwas entwerfen, das dem Raspberry Pi sehr ähnlich ist, mit der Mühe, es selbst herzustellen, und den gleichen Kostenproblemen (einfach eine Platine mit Ethernet-, PS2-, Video- und Stromanschlüssen zu bekommen, wird wahrscheinlich Ihr 2-Dollar-Budget überschreiten bevor du irgendeine Logik darauf anlegst). Ich vermute, dass Sie mit aggressivem Value Engineering für Ihre spezifische Anwendung die Kosten auf 10 US-Dollar senken können, indem Sie einen anderen Kern ohne die GPU und mit weniger RAM verwenden.

Ich suchte im Raspberry Pi-Blog nach eigenen Artikeln zu diesem Thema, konnte sie aber nicht sofort finden; Es lohnt sich, das zu lesen, und Bunnie Huang ist auf der Chumby, bevor Sie sich daran machen, selbst zu produzieren.

Schauen Sie sich die Anzeigetreiberchips von DisplayLink an, sie stellen ASICs zur Steuerung von LCD-Anzeigen über USB und Ethernet her.

Sie verwenden nicht die VNC-Protokolle, sind aber funktional gleichwertig.

http://www.displaylink.com/embedded/index.php