Ich versuche, eine HTML5 "Remote-Desktop" mit Bildern aus einem C# app erfasst erstellen. Die Bilder werden in base64-Strings konvertiert und über socket.io an die Seite gesendet und auf der Leinwand angezeigt. Es funktioniert ziemlich gut auf meinem PC, aber auf jedem langsameren Computer nicht. Es scheint nicht schnell genug zu aktualisieren und führt zum Absturz der Seite. Hier ist der 'receive' Aktionscode:
socket.of('/1').on('receive', function (data) {
var img = new Image();
img.onload = function () {
context.drawImage(img, 0, 0, example.width, example.height);
};
img.src = "data:image/png;base64," + data.message;
});
Die Daten werden alle 34 Millisekunden gesendet, so dass die Leinwand mit etwa 29 Bildern pro Sekunde aktualisiert wird und wie ein Live-Video aussieht. Gibt es eine Möglichkeit, wie ich die Daten empfangen und das Bild in einem anderen "Thread" zeichnen kann? Oder kann mir jemand einen Vorschlag machen, wie ich dieses Problem beheben kann? Vielen Dank für die Hilfe.