1. Home
  2. Docs
  3. 远程控制
  4. 三大技术方案

三大技术方案

当前主流的远程桌面的解决方案主要有三种,分别是VNC、RDP、WebRTC,任何一种均可满足大部份人的远程管理需求,但由于图形编解码的差异,从而对个别群体或某些设备来说,有着比较大的限制,这也限制着它们为什么不能更普及化的重要原因之一。

方案名 图形编码类型编码前后的图形表现像素格式资源占用情况跨平台
VNC标准有RAW、CopyRect、RRE、CoRRE、Hextile、zlib、Tight、ZRLE、PNG、JPEG、H264等,允许自由扩展。JPEG和H264为有损编码,解码后图像模糊、偏色,边缘锯齿且杂色,对图形设计师不友好,间接影响作品质量。
其它类型为无损编码,编解码前后图形完全一致。
JPG:YUV420或YUV444

H264:YUV420

其它:RGB32、RGB24、RGB16、RGB15、RGB332、RGB256
JPG和H264需要开启硬件加速,但CPU资源占用仍然一直偏高甚至占满单核或多个核,编码后网络资源较小,这取决于编码参数的线程数和码率等参数优化。

其它编码无硬件加速,CPU和网络资源是波动型,取决于脏区域面积和背景复杂度如有精美壁纸,复杂度越高编码后数据越大。

背景复杂度小如纯色背景下,H264和其它编码的网络资源占用相差不大。
协议简单,扩展性好,对硬件要求低,很多低端的单片机都支持VNC的远程桌面,编码的自由扩展特性,可与显示驱动深度绑定,实现与RDP等同的效果,如Qt自带的VNCServer模块。
这也是深受众多开发者喜欢的重要原因之一。
RDP微软驱动底层相关的绘制特性及参数封装,可以是点、线、面、图片甚至视频等复合数据信息无损编码RGB32、RGB24、RGB16、RGB15、RGB256编码效率高,解码效率相对低协议复杂且协议版本多,维护工作量大,需要比较专业的图形算法和多线程同步经验。在跨平台有相关开源如XRDP或FreeRDP,因为无法像Window一样深度绑定驱动层,其优势根本无法显现,非Window平台下,其CPU消耗比VNC高,网络资源与VNC差不多。
WebRTC主要是H264、VP8、VP9有损编码,解码后图像模糊、偏色,边缘锯齿且杂色,对图形设计师不友好,间接影响作品质量。YUV420需要开启硬件加速,但CPU资源占用仍然一直偏高甚至占满单核或多个核,编码后网络资源较小,这取决于编码参数的线程数和码率等参数优化。对硬件要求较高,在一些中高端的Android板卡上,若供应商不提供硬解SDK的情况下,软解码也是卡顿,更不要提编码。

VNC