我正在尝试使用从 C# 应用程序捕获的图像创建 HTML5“远程桌面”。图像被转换成 base64 字符串并通过 socket.io 发送到页面并显示在画布上。它在我的 PC 上运行良好,但在任何速度较慢的计算机上都不能。它似乎无法足够快地更新并导致页面崩溃。这是“接收”操作代码:
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;
});
数据每 34 毫秒发送一次,因此画布以大约 29 fps 的速度更新,并且看起来像是实时视频。有没有办法可以接收数据并在另一个“线程”中绘制图像?或者任何人都可以建议如何解决这个问题?谢谢您的帮助。