- Direct Graphics Access
-
Direct Graphics Access is a plug-in for the X Window System that allows client programs direct access to the frame-buffer.
Graphics hardware communicates via a chunk of memory called a frame-buffer. This is an array of values that represent pixel color values on the screen. Writing the appropriate values into the frame buffer therefore allows a program to paint areas of the screen.
However, as with any shared resource, problems occur when multiple programs attempt to access the same resource, as they tend to write over each others work. In the X Window System, this is solved by having a central server program that mediates between programs that want to draw on the screen. The server also performs a lot of the drawing work, allowing programs to say Draw me a circle of this radius filled with this pattern or draw this text in this font. The X server does all this work, freeing programmers from having to write their own drawing code. Another advantage of this setup, is that X Window works over a network, allowing programs on one machine to display output on the screen of another. Having the server do the drawing work in this scenario can lessen the amount of data that has to be sent across the network, and also shares the workload between the server and the client machine, (the client machine here will normally be a large multi-user system, and limiting processor use by users is important).
Unfortunately this setup slows down programs that run on the same host as the X-server that display images rather than drawing text and graphics. In particular this affects programs like games or video that draw multiple images in quick succession. These programs have to render the whole image themselves, and then send it to the X-server, who writes it to the frame-buffer. This two-step process is slower and uses more processor time than if the client program could write directly to the frame-buffer itself.
Direct Graphics Access is a system that allows this, the X-server hands over control of the frame-buffer to the client program and waits for the client to hand it back. This means that the client program has control of the whole screen, and so it is mostly used for full-screen video/games.
See also
External links
Categories:- Image processing
- X Window extensions
Wikimedia Foundation. 2010.