Linked by Thom Holwerda on Sat 28th Jun 2008 22:09 UTC, submitted by diegocg
X11, Window Managers "Maybe I'm just naive, but designing a graphics API such that all image data had to be sent over a socket to another process every time the image needed to be drawn seems like complete idiocy. Unfortunately, that is precisely what the X Window System forces a program to do, and exactly what Cairo does when drawing images in Linux - a full copy of the image data, send to another process, no less, every time it is drawn. One would think there would be some room for improvement. Unsurprisingly, others felt the same way about X, and decided to write an extension, Xlib Shm or XShm for short, that allows images to placed in a shared memory segment from which the X server reads which allows the program to avoid the memory copy. GTK already makes use of the XShm extension, and it seems like a good idea to see if Gecko couldn't do the same."
Thread beginning with comment 320625
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE: Define "Slow"
by kaiwai on Sun 29th Jun 2008 23:05 UTC in reply to "Define "Slow""
Member since:

Bottom line is that Shm, which has been around since 1991, is not used because it is not needed. Using it instead of sockets would break the ability for your app to work across the network.

Then obviously you have ignored the many posts on here which clearly state that if it is run across the network, it falls back to sockets. GTK+ makes use of SHM, and yet, can be used across a network. All the original author is saying is that like GTK+, if Cairo can use SHM, it should use it - otherwise, fall back to sockets when it can't.

Is this the cause of perceived slowness? no. Xorg already have provided fixes; XCB for example addresses a lot of them, the problem is that the projects currently using libX11 haven't gotten their act together and moved to XCB yet.

Reply Parent Score: 1