Remix.run Logo
jandrese 3 days ago

One thing that GTK lost in the transition to GTK2 was working well over slow Internet connections. I remember how even on a dial up modem you got pretty acceptable performance out of a GTK1 app, so long as it wasn't shoving big bitmaps around. GTK2 on the other hand was always dog slow over remote X connections for no apparent reason.

xantronix 3 days ago | parent [-]

You actually hit the nail on the head; pixbuf/pixmap font rendering on the client side rather than X server side text rendering.

pjmlp 3 days ago | parent [-]

Note that on X, client and server are inverted.

dpassens 3 days ago | parent | next [-]

But GP used client and server correctly, no? In the traditional model, the server renders the text it received from the client. Nowadays, the client renders it itself and pushes the whole bitmap to the server.

pjmlp 3 days ago | parent [-]

Pushing the whole bitmap is much slower over dialup, versus a set of commands.

vidarh 3 days ago | parent | next [-]

Yes? But older X code used to use server side font rendering. The move to client side is the new thing. So this still sounds like the original comment got it right, though I guess ordered in a way that might make it ambiguous.

xantronix 3 days ago | parent [-]

Indeed, I probably could have made it more clear I was referring to the situation in Gtk 2, but I figured it was implicit given that, of Gtk 1 and Gtk 2, only the latter renders text in client-side pixmaps/pixbufs.

dpassens 3 days ago | parent | prev [-]

I'm not disagreeing with you. I'm merely pointing out that you're not disagreeing with GP either.

1718627440 3 days ago | parent | prev | next [-]

I don't get how it could be the other way around? The domain here is controlling a display. A server does stuff, a client requests it. The X naming is exactly natural. The server draws and controls hardware, the client requests it.

pjmlp 3 days ago | parent [-]

On traditional GUIs nomeclature (not X), client is what is running on the local hardware, server is where the actual process is running, aka thin clients.

It is also the nomenclature when talking about RDP, VNC, and many others,

https://en.m.wikipedia.org/wiki/Remote_desktop_software#

xantronix 3 days ago | parent | prev [-]

I'm aware. The X server is the thing the user sits and operates. I've written quite a bit of Xlib code in my day.