Direct Graphics Access
Encyclopedia
Direct Graphics Access is a plug-in for the X Window System
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...

 that allows client programs direct access
Direct access
Direct Access may refer to:*DirectAccess, a network technology in Windows 7 and Windows Server 2008 R2*Direct access, a concept in computer science*Direct Access Archive, a proprietary file format...

 to the frame-buffer.

Graphics hardware
Graphics hardware
Graphics hardware is a hardware that enable to produce and show computer graphics. It works in conjuntion with graphics software. Examples of graphics hardware are display devices, graphics cards and motion capture hardware....

 communicates via a chunk of memory
Memory
In psychology, memory is an organism's ability to store, retain, and recall information and experiences. Traditional studies of memory began in the fields of philosophy, including techniques of artificially enhancing memory....

 called a frame-buffer. This is an array of values that represent pixel
Pixel
In digital imaging, a pixel, or pel, is a single point in a raster image, or the smallest addressable screen element in a display device; it is the smallest unit of picture that can be represented or controlled....

 color values on the screen
Electronic page
An electronic page is a term to encompass the grouping of content between basic breaking points in presentations or documents that originate or remain as visual electronic documents. This is a software file and recording format term in contrast to electronic paper, a hardware display technology...

. Writing the appropriate values into the frame buffer therefore allows a program to paint areas of the screen.

However, as with any shared resource
Shared resource
In computing, a shared resource or network share is a device or piece of information on a computer that can be remotely accessed from another computer, typically via a local area network or an enterprise Intranet, transparently as if it were a resource in the local machine.Examples are shared file...

, 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
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...

, this is solved by having a central server
Server (computing)
In the context of client-server architecture, a server is a computer program running to serve the requests of other programs, the "clients". Thus, the "server" performs some computational task on behalf of "clients"...

 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
Computer network
A computer network, often simply referred to as a network, is a collection of hardware components and computers interconnected by communication channels that allow sharing of resources and information....

, 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
Multi-user
Multi-user is a term that defines an operating system or application software that allows concurrent access by multiple users of a computer. Time-sharing systems are multi-user systems. Most batch processing systems for mainframe computers may also be considered "multi-user", to avoid leaving the...

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.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK