News for hackers. Stuff that matters.
Re:VS Code uses 13% CPU when idle due to blinking cursor ren... by zbuf on Thursday March 23, 2017 @08:31PM (#13945605)
> You realize that no X client draws like this nor has for 20 years right? They all use xshm to upload pixels [...]

You seem to be misinformed. Of the applications I mentioned, the main ones (gitk, xterm, emacs, xosview) are not doing that; seen clearly by analysing the X traffic.

Of course, some of these could be built with an optional Qt front-end, in which case I would not be surprised.

So you stated clearly "all" applications (for "20 years") which is provably incorrect; and I home in on this because it's a recurrence of another 'well, you never had it before' argument (that really might be better directed at the decaying state of X11 client toolkits)

X11 isn't perfect, I have no doubt something better can be engineered (especially if it involves those who worked on X11). But people are missing the point that to replace X11 is a different matter from designing a better one. It involves acknowledging those who are quietly and successfully using X11 on a daily basis for the majority of their work and existing applications -- not telling us how wrong we are.

Re:VS Code uses 13% CPU when idle due to blinking cursor ren... by audidude on Thursday March 23, 2017 @09:12PM (#13945767)
That's precisely why I stated 20 years. Those programs were written before that and largely haven't changed since.

If you wan't anti-aliasing in any of those above (gitk/emacs come to mind) you'll be doing client side rendering of fonts and copying pixels.

Re:VS Code uses 13% CPU when idle due to blinking cursor ren... by monochromatic on Thursday March 23, 2017 @09:16PM (#13945781)
> no X client draws like this nor has for 20 years

If something was written a long time ago and hasn't changed in this respect, BUT is still widely used... you can't say that "no X client draws like this nor has for 20 years."

Re:VS Code uses 13% CPU when idle due to blinking cursor ren... by fulafel on Friday March 24, 2017 @01:06AM (#13946750)
"Copying pixels" is the dominant mode of operation in other remote GUI protocols like RDP, so it's not the end of the world.
Re:VS Code uses 13% CPU when idle due to blinking cursor ren... by bitwize on Friday March 24, 2017 @01:53AM (#13946971)
Actually, RDP is GDI over the wire, which is not too dissimilar from X.

RDP has efficiency gains because clients send pixmaps over the wire to be stored on the server, and then send draw calls to display those pixmaps in certain places, composing a display. You can do this with X11 too, but the GTK developers don't want to because using the protocol is hard ;_;

Re:VS Code uses 13% CPU when idle due to blinking cursor ren... by audidude on Friday March 24, 2017 @06:36AM (#13947953)
gtk+ certainly does use server-side textures and positioned draws. That is why the documentation is so adamant about using API like create_similar_surface().

Even the pixelcache uses server-side textures when available.

This is what Xshm does and why everything modern uses it. You get a server-side texture, but mapped into client address space so you can do direct draws and then XCopyArea() into your final location for double-buffering.

But gtk+ isn't really in the position to be able to control everything so precisely all the way down the driver stack to network transparency layers. So unless you connect to our process directly, like the HTML5 broadway backend, there is only so much we can do.

The broadway backend does employ various techniques to reduce the amount of content passed using a sort of rolling hash.

https://git.gnome.org/browse/gtk+/tree/gdk/broadway/broadway...

I expect forthcoming app/display network transparency layers in GNOME's Wayland compositor to employ a similar strategy.

Re:VS Code uses 13% CPU when idle due to blinking cursor ren... by audidude on Friday March 24, 2017 @01:22AM (#13946825)
Indeed. Especially since TCP-based X would require that you stall operations if you drop a packet so that draw-ordering is preserved.
Re:VS Code uses 13% CPU when idle due to blinking cursor ren... by fulafel on Friday March 24, 2017 @01:37AM (#13946902)
If you want to optimize for choppy networks that have too much packet loss for interactive TCP applications , then the current X11 is not a good fit. But that would be a whole different niche.
Re:VS Code uses 13% CPU when idle due to blinking cursor ren... by digi_owl on Friday March 24, 2017 @12:21PM (#13949983)
Could have sworn that there exist multiple takes on extensions for that, but none that has been rolled into Xorg proper. This either because lisencing, or because the current devs have GPU stars in their eyes.

BTW, it is downright funny how just about every Gnome guy i have encountered online seems to come across a pedantic grump. that would not know a joke if it fell on his head...

Re:VS Code uses 13% CPU when idle due to blinking cursor ren... by audidude on Friday March 24, 2017 @05:24PM (#13952337)
Interesting how one person is a common denominator in all those interactions ;)
Re:VS Code uses 13% CPU when idle due to blinking cursor ren... by digi_owl on Sunday March 26, 2017 @10:35AM (#13960967)
And most of the comment gets ignored for a cheap retort, as expected.
Re:VS Code uses 13% CPU when idle due to blinking cursor ren... by audidude on Sunday March 26, 2017 @05:45PM (#13963482)
you've mentioned something i've not heard about without linking to it or providing a name to help me find it myself. so i'm not sure what you'd like from me.
Re:VS Code uses 13% CPU when idle due to blinking cursor ren... by firman on Friday March 24, 2017 @04:55AM (#13947560)
It is reminding me that webkit is grand child of QT. QT > KDE > khtml > webkit