User: Password:
|
|
Subscribe / Log in / New account

Wayland explanations are STILL confusing and worrying users

Wayland explanations are STILL confusing and worrying users

Posted Jun 18, 2013 20:52 UTC (Tue) by foom (subscriber, #14868)
In reply to: Wayland explanations are STILL confusing and worrying users by nye
Parent article: The Wayland Situation: Facts About X vs. Wayland (Phoronix)

Well, those parts of RDP are nearly dead now. These days windows does basically all rendering on the host side (including 3D), and sends bitmaps to the client. Even fonts are rendered on the host side, ever since ClearType has been used.

The main exception to that strategy is that desktop compositing does get done on the client via dedicated compositor commands.

The experience of RDP *is* vastly better than VNC, but that's not because it's using primitive drawing commands -- that strategy stopped working out very well years ago.


(Log in to post comments)

Wayland explanations are STILL confusing and worrying users

Posted Jun 19, 2013 11:52 UTC (Wed) by nye (guest, #51576) [Link]

>The experience of RDP *is* vastly better than VNC, but that's not because it's using primitive drawing commands -- that strategy stopped working out very well years ago.

True, applications aren't requesting that the windowing system draw a line segment from A to B, and so on, but in practice X11 applications aren't doing that either.

There is a middle ground in between basic line-drawing primitives and bitmap scraping. RDP does typically work at a higher level than screen scraping, which is why nix's example of scrolling a text editor sounds highly suspect - I've just tried connecting to a Windows desktop (via whatever mechanism Remmina uses for rdp; I guess it wraps rdesktop), opening a large-ish file in gVim, and scrolling both casually line-by-line and madly by mashing page down. It's just as fast and responsive as running vim in an xterm over the same link[0] (ping ~45ms), and in fact seems to have slightly less input lag. Notably, looking at the data transferred, RDP is using a fair bit *less* bandwidth.

The point is that VNC is not comparable to this. It very clearly has to resend large amounts of data for even single line scrolls; it doesn't work in the same way at all.

With any luck Wayland's remoting will sit at a similar point to RDP on the primitives<->scraping spectrum, and everything will be rainbows and unicorns.

[0] That is, 'ssh -X <host> xterm vim'. For a more direct comparison, I did try 'ssh -X <host> gvim', but that really wasn't a fair comparison since X is useless over WAN links. The bandwidth requirement was higher still, and the input latency was so high that nobody could seriously consider it usable in any but the most desperate of circumstances. If you are only ever moving line-by-line, then it would win over VNC, but if you ever want to scroll a whole screenful it takes a similar amount of time.

Wayland explanations are STILL confusing and worrying users

Posted Jun 19, 2013 13:05 UTC (Wed) by Jonno (subscriber, #49613) [Link]

> There is a middle ground in between basic line-drawing primitives and bitmap scraping. RDP does typically work at a higher level than screen scraping
> The point is that VNC is not comparable to this. It very clearly has to resend large amounts of data for even single line scrolls; it doesn't work in the same way at all.

Actually, the VNC *protocol* are fully capable of efficient scrolling, but most VNC server *implementations* work by doing screen scraping and don't have any heuristics to detect scrolling, thus resulting in terrible performance. The Wayland reference implementation is a lot better in this regard, and performs much better than what is typical for VNC, even though it uses the same design principles.

Also worth noting is that the Weston reference implementation actually uses the RDP protocol, which btw also uses the same design principles as VNC.

So if you compare a typical VNC implementation and the Windows RDP implementation, the Weston implementation should be closer to the later, as the server sits at the same position in the graphics stack *and* uses the same wire protocol (though implementation differences will of course make some impact).

Wayland explanations are STILL confusing and worrying users

Posted Jun 19, 2013 13:56 UTC (Wed) by nye (guest, #51576) [Link]

>Actually, the VNC *protocol* are fully capable of efficient scrolling, but most VNC server *implementations* work by doing screen scraping and don't have any heuristics to detect scrolling, thus resulting in terrible performance.

Now *that* is interesting information. Perhaps I'm reading too much into your choice of the word 'most', but does that mean you know of VNC servers which are better in this regard? And do they require a matching client?

Wayland explanations are STILL confusing and worrying users

Posted Jun 19, 2013 14:47 UTC (Wed) by raven667 (subscriber, #5198) [Link]

I wonder how the OSX client/server rate, in my experience the pair is very good but VNC performance using another client is poor. It may be using these optimizations because performance is fairly good. Scrolling terminals isn't slow.

Wayland explanations are STILL confusing and worrying users

Posted Jun 19, 2013 15:28 UTC (Wed) by Jonno (subscriber, #49613) [Link]

> Perhaps I'm reading too much into your choice of the word 'most', but does that mean you know of VNC servers which are better in this regard?
Most VNC servers make some use of the protocol feature (i.e. for window movement on the virtual desktop), but to my knowledge no X11-based VNC server is capable of automatically using the feature when scrolling part of a window.

That said, libVNCServer makes it available to custom applications, and x11vnc has an experimental command line option to try to detect scrolling in the frames it scrapes from the X11 server.

> And do they require a matching client?
The "CopyRect" image encoding is one of the five original encodings of the specification, but only the "Raw" image encoding (uncompressed bitmap data) is mandated, everything else is negotiated per session. So while most clients support it, some might not.

Wayland explanations are STILL confusing and worrying users

Posted Jun 25, 2013 20:32 UTC (Tue) by nix (subscriber, #2304) [Link]

Note that my example was from back when I was doing that sort of thing, which was 2010-era and older, and god only knows how old the RDP backend I was talking to was. They probably have improved in the meantime.


Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds