现在是 2017 年。我们可以使用一小部分可用带宽和计算资源来传输 4k 直播。
为什么我们仍然没有提供良好性能的远程桌面应用程序? 到底是什么使得传输静态图片和传输不超过几个字节的鼠标和键盘操作变得更加困难?
答案1
首先,我们确实有提供不错性能的远程桌面应用程序 - 但没有单一的通用解决方案可以很好地做到这一点。
在典型/全面的情况下,计算机需要将屏幕上的内容准确传输到另一个位置。它唯一能做的就是压缩输出以加快速度 - 例如 VNC 就是这种情况。根据连接速度和屏幕复杂度,这可能会运行良好,也可能很慢。如果使用有损压缩,则内容可能无法读取。
另一个极端是类似 chromecast 的东西 - 它向远程计算机提供执行操作的指令,因此它可以最大限度地利用压缩(即它处理来自源的原始压缩流,而不需要解压缩并发送解压缩或解压缩和重新压缩的数据)。当然,这需要与该技术兼容的应用程序 - 而大多数桌面应用程序都不是。
中间有像 Spice、X forwarding rdp 这样的解决方案,它们尝试使用 API 通过重现原始屏幕上应显示的内容来减少传输的数据量。
另一个问题是延迟 - 如果你在新西兰(例如),并在欧洲共享连接,由于真空中的光速,你会看到 > 200ms 的延迟 - 无论你对连接做什么都无法降低延迟 - 这会让它感觉很慢。
类似地,在处理移动视频时,除了 Chromecast 类型的解决方案外,通常不可能知道压缩了什么(以及如何压缩)——而且紧密、有损压缩非常耗时,这使得这变得困难。(如果 4k 视频可以在不给系统带来很大负担的情况下实时压缩,我会感到惊讶——即 4k 视频可以实时流式传输和播放,但通常不会在系统执行其他实际任务时实时编码)