1 |
Am Tue, 19 Jan 2016 19:39:26 +0000 (UTC) |
2 |
schrieb Grant Edwards <grant.b.edwards@×××××.com>: |
3 |
|
4 |
> On 2016-01-19, Mick <michaelkintzios@×××××.com> wrote: |
5 |
> |
6 |
> > As far as I understand it RDP is different to VNC, in the sense that |
7 |
> > instead of sending every pixel down the line it only sends |
8 |
> > compressed semantic information *about* a desktop component |
9 |
> > (e.g. the start button, a control signal, etc.) and the client |
10 |
> > interprets this locally as a button or a control command. It is also |
11 |
> > using caching to minimise retransmission. |
12 |
> |
13 |
> I don't think so. AFAICT, RDP (a-la Windows) and VNC both do exaclty |
14 |
> the same thing: they send display pixel info to be displayed. They |
15 |
> try to optimize the process by only sending deltas and by using |
16 |
> various compression schemes, but they're both doing the basically the |
17 |
> same thing. RDP also has a bunch of other stuff to support things |
18 |
> like audio, printer, filesystem, and serial/prallel port redirection |
19 |
> that I don't think VNC ever had. But the display/mouse/keyboard part |
20 |
> of it works pretty much the same. |
21 |
|
22 |
Well, RDP indeed sends bitmaps. But it can do it a lot more intelligent |
23 |
and desktop aware than VNC. First, it supports bitmap caching and can |
24 |
reuse bitmaps which were already sent - which in itself is quite a good |
25 |
compression for usual desktop content. It also supports a wide variety |
26 |
of compression types. It can also encode the fact that bitmaps have |
27 |
moved thus only require sending the background of a window which was |
28 |
moved - and can reuse bitmaps from the cache. |
29 |
|
30 |
RDP also can detect and send content as a video stream. It also |
31 |
supports sending graphical desktop effects using 3d acceleration and |
32 |
transparency. |
33 |
|
34 |
It also knows of glyphs (font rendering) which thus have not to be sent |
35 |
as bitmaps (which due to font smoothing may not be compressible well). |
36 |
|
37 |
Xfreerdp is a nice implementation which implements almost all those |
38 |
features. I was able to use it to smoothly operate a remote Windows |
39 |
desktop with Aero effects enabled. The latency was very low, the |
40 |
experience was almost the same as working physically in front of the |
41 |
machine. Of course, the remote end has to have a sufficiently new RDP |
42 |
server implementation (like Windows 8 or Server 2012). It also |
43 |
supports folder, printer, sound, and port redirection. It may also |
44 |
support the new Windows RDP UDP transport which works more like a video |
45 |
stream encoder and sacrifies immediate image quality for low latency. I |
46 |
haven't tried it with xfreerdp. In Windows, it is very nice for high |
47 |
latency links where it catches up image quality after 1 or 2 seconds or |
48 |
so. |
49 |
|
50 |
There's also demos where you can remotely play Diablo 3 on Windows using |
51 |
a Linux RDP client - with low latency, sound and good image quality. I |
52 |
doubt VNC could do that although the claim "basically the same". [1] |
53 |
|
54 |
VNC just cannot do it. It even sometimes does not transfer small screen |
55 |
updates like a blinking cursor - let alone the mouse pointer only |
56 |
following on clicks. It also doesn't support catching up better image |
57 |
quality in a deferred way to keep latency low. It's either slow, or |
58 |
visually unpleasing at best. It's also annoying that it's bound to the |
59 |
physical screen resolution of the remote machine. VNC was only good |
60 |
back in WinXP times, when RDP was not much more than VNC in terms of |
61 |
screen content transfer, and network links were generally much slower |
62 |
than today, and VNC had some intelligent compression algos in contrast |
63 |
to RDP. VNC just doesn't seem to be able to make use of low latency and |
64 |
high bandwidth links - it still feels sluggish and slow. It's probably a |
65 |
protocol implementation issue (not streaming and synchronous). |
66 |
|
67 |
Given that, I'd say: No, it's _not_ "basically" the same. RDP is just |
68 |
much more than simple bitmap transfer - even if we exclude advanced |
69 |
features like sound, file transfer, clipboard sharing etc and stick to |
70 |
the common features. |
71 |
|
72 |
BTW: As far as I know, a wayland display server will be able to expose |
73 |
an RDP framebuffer which you could connect to from Windows RDP clients, |
74 |
and should also support smooth desktop effects and video encoding at |
75 |
some time in the future. I followed that topic for a while but given |
76 |
the fact that wayland is just not there yet, making it impossible for |
77 |
me to use it on my daily desktop, I've given up on that. I'll try to |
78 |
get back to that later. But as far as I understood, unlike Windows RDP, |
79 |
a wayland RDP framebuffer does not mirror a physical screen - it just a |
80 |
virtual framebuffer. |
81 |
|
82 |
[1]: https://www.youtube.com/watch?v=RUXYuj9S1v8 |
83 |
|
84 |
-- |
85 |
Regards, |
86 |
Kai |
87 |
|
88 |
Replies to list-only preferred. |