我的玻璃盒子

[转]mstsc VS vnc : 远程桌面最快的原因在于RDP协议

[转自]http://kongjian.baidu.com/newsys007/blog/item/a2673a8649164a3b67096ed2.html

一番讨论,才明白为什么windows自带的远程桌面mstsc比Ultr***NC要快。
协议,还是协议。从控制命令上入手,传送GDI命令参数,而不是屏幕的数值。绘图都由Client端实时完成。Server几乎是idle的,仅传送命令参数。
Microsoft的远程桌面协议(Remote Desktop Protocol,简称RDP)
它仅传输服务器所显示的对象的属性变化的控制值,实现快速远程控制,相对于其它采用抓屏图片压缩的远程控制软件,如PCAnyWhere等而言,速度更快,控制更准确。
1) winxp 使用自带的mstsc,占用资源少,节约CPU。
看mov确实不卡。 时间流上看不出来。但是用souceinsight,word这些可能就是不行。一直在交互。毕竟有严迟。感觉上不爽。
2) VNC系列。
Ultr***NC,从驱动程序入手,自带Video Mirror Driver,速度极大提升。比起其他抓屏幕的垃圾算法软件,改善很多。  
刷新还是太卡。 屏幕没有像mstsc自适用。
3) Dameware
Dameware一直以来以速度快,支持客户端免安装(实际上是远程自动安装)而在远程控制软件领域深受广大管理员喜爱.
支持Microsoft RDP协议, 用这个远程控制winxp和win2003,效果和微软的远程桌面工具一样快。
4) 提高终端服务并发连接数: ThinSoft.WinConnect.Server.XP
windows xp的rdp有1个并发数的连接限制。
而WinConnect.Server.XP可以突破这个限制,最大可以拥有21个并发连接数。
官方网站:
http://www.thinsoftinc.com/products_winconserver_info.html
针对xp/2k3 sp1。
5)其他的,抓屏幕的垃圾设计软件:
Radmin不比VNC快。延迟比较严重。有放卡片的感觉。切换窗口时。没什么强的。不如VNC。
PCAnywhere 块头太大了,垃圾一个,性能太差。以前win98年代还有竞争力。现在不实用。
写这些软件的猪头们,“只顾埋头拉车,不会抬头看路”。
一点也没有理解控制报文和数据报文的区别!设计上就是垃圾,算法再好,也是没有效率的。
设计是软件的核心。核心是烂的,什么也别说了。再改进也没什么意义。
其他讨论:
6)
与朋友的讨论,搜到一篇帖子:
Ask Slashdot: Which VNC Software is Best?
http://ask.slashdot.org/article.pl?sid=04/10/20/0132236&tid=185&tid=201&tid=4
这个帖子里面,每个人使用的感觉都不同("YMMV--Your mileage may vary" 真是很好用的一句话),
有人说这个好,有人说那个好,每个人的经验/感觉都不同。下面是其中的一篇总结:
RealVNC: the original.
TightVNC: optimized for low-bandwidth
Ultra: tons of extras - file transfer, chat, video driver, NT/AD security
Tridia: get around firewalls, more management features
其他相关的东西:
1. VNC Loop
http://en.wikipedia.org/wiki/VNC_Loop
2. RealVNC Password Decrypter
http://jonas.pie.la/page/code.html#vncdec
3. FreeNX (据说速度比 VNC 快很多,号称可以达到接近本地的速度)
http://freenx.berlios.de/download.php
7)
http://topic.csdn.net/t/20040612/20/3086704.html
远程传输屏幕行为的方案!(讨论)
HunterForPig (留着口水的猪)     2004-06-12 20:50:24 在 VC/MFC / 网络编程 提问
实现方式:  
在网络上传输这一屏幕行为  
每秒钟截屏12次!压缩成jpeg,  
所以每截一次,传输图像数据一次  
   
发现服务器端cpu使用率为100%,  
晕了,不知还有何其它方法记录下屏幕行为,  
或者降低cpu使用率!  
   
Video   Mirror   Driver  
如果想解决CPU占用率的问题,最根本的解决方案是从驱动程序入手,Windows   2000以上已经支持Mirror   Driver,
并且已经有一些远程监控的产品使用了此技术。如果搂主熟悉驱动编程,或许可以研究研究此种方法。  
诸位讨论很热烈,那我也来凑凑热闹。      
shootingstars,你的知识面看来比较广,在这个问题上考虑到了驱动程序。事实上,运用过滤驱动截图是最好的解决方案,主要包括以下两个技术点:  
   
1   第一屏传输。第一屏的速度是衡量屏幕传输效率的重要参数,一般来说,用过滤驱动完成截图,并直接压缩到Socket的缓冲区,能够获取最快的速度,
       压缩算法中Intel   MPEG4是一个很好的选择。
   
2   局部截屏传输。屏幕并不是一个整体,而是大量象素组合成的,我们只需要以一定的速率(祯率)来截取变化的像素,并发送到目标机器,就可以获得极高的传输速率。     
当然,如何对屏幕进行局部截取,以及如何判断变化的像素,都是很大的难题,需要用过滤驱动来解决。事实上,国内外的一些软件已经实现了这一功能,比如WinXP和Lanstar。

posted on 2011-05-29 22:51 深蓝色系统 阅读(2151) 评论(1)  编辑 收藏 引用

评论

# re: [转]mstsc VS vnc : 远程桌面最快的原因在于RDP协议 2011-10-05 13:48 男鞋团购

现在c++离我越来越远了,java还记得一点  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


导航

<2009年7月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

统计

常用链接

留言簿(75)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜