Linked by Thom Holwerda on Sat 28th Jun 2008 22:09 UTC, submitted by diegocg
Thread beginning with comment 320560
To read all comments associated with this story, please click here.
To read all comments associated with this story, please click here.
We use cairo for cross platform graphing. Win32 GDI using cairo on XP is quite a bit slower in rendering and screen update than X. While I realise that might be due to the Win32 backend, it is also possible that it is due to the GDI.
It's the Win32 backend that is poorly implemented, because it works in software-only mode, while the X11 backend uses XRender and it's quite faster.
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.




Member since:
2006-09-12
The OP has the wrong end of the stick.
We have a home grown socket based inter-application middleware that manages over 30000 messages per second between processes on the same machine. I hardly call that slow...
We use cairo for cross platform graphing. Win32 GDI using cairo on XP is quite a bit slower in rendering and screen update than X. While I realise that might be due to the Win32 backend, it is also possible that it is due to the GDI.
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.
The cairo toolkit is extremely efficient. If you see FF taking some time to render pages, rather point a few fingers at your internet speed, or the speed of the site being rendered.