mstsc VS vnc : 遠端桌面最快的原因在於RDP協議

chief1985發表於2008-10-09

導讀:


一番討論,才明白為什麼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。


本文轉自
http://kongjian.baidu.com/newsys007/blog/item/a2673a8649164a3b67096ed2.html

相關文章