1. 程式人生 > >mstsc VS vnc : 遠端桌面最快的原因在於RDP協議

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

經過一番討論,才明白為什麼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個併發連線數。

官方網站:

針對xp/2k3 sp1。

5)其他的,抓螢幕的垃圾設計軟體:

Radmin不比VNC快。延遲比較嚴重。有放卡片的感覺。切換視窗時。沒什麼強的。不如VNC。

PCAnywhere 塊頭太大了,垃圾一個,效能太差。以前win98年代還有競爭力。現在不實用。

寫這些軟體的豬頭們,“只顧埋頭拉車,不會擡頭看路”。

一點也沒有理解控制報文和資料報文的區別!設計上就是垃圾,演算法再好,也是沒有效率的。

設計是軟體的核心。核心是爛的,什麼也別說了。再改進也沒什麼意義。

其他討論:

6)

與朋友的討論,搜到一篇帖子:

Ask Slashdot: Which VNC Software is Best?

這個帖子裡面,每個人使用的感覺都不同("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

2. RealVNC Password Decrypter

3. FreeNX (據說速度比 VNC 快很多,號稱可以達到接近本地的速度)

7)

遠端傳輸螢幕行為的方案!(討論)

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。