[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Graphics performance under linux
Hi Paul,
> In X the requests are made via communication on a socket. At the
> other end of the socket the graphics server calls functions on the
> graphics driver (at which point it's similar to MSWindows).
>
> The problem is the communication via sockets. Even when connecting
> to localhost the mechanism is not as efficient as a direct API call.
It may interest you to know that as well as Unix domain sockets being
used for a DISPLAY of `:0', some vendors have used other techniques to
speed up this connection.
IBM's AIX has an undocumented `shared memory socket' used by their X
server. They have similar semantics to Unix domain sockets but the
data is visible to both parties via shared memory.
Barco have an X server and X client library that also uses shared
memory as a transport but without socket semantics.
Even where a socket interface is used to transfer requests and replies,
extensions exist where large volumes of data, typically pixmaps, are
transferred `out of band' via shared memory.
Lastly, `connecting to localhost', i.e. a DISPLAY of localhost:0, often
opens a TCP/IP socket connection to 127.0.0.1. This is normally not as
fast as a Unix domain socket. It's defined that a DISPLAY of `:0'
instructs the library to use the fastest connection method available.
This should be used in preference to `localhost:0'. It might be a Unix
domain socket, but on some platforms, or in the future, could be a
shared memory mechanism.
Ralph.
-
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/
IRC Channel: irc.openprojects.net / #kernelnewbies
Web Page: http://www.kernelnewbies.org/