Online Book Reader

Home Category

CompTIA A_ Certification All-In-One Exam Guide, Seventh Edition - Michael Meyers [337]

By Root 1256 0
need for massively powerful video cards and much wider data buses. Intel’s primary motivation for creating AGP was to provide a big enough pipe for massive data pumping between the video card and the CPU. Intel gave AGP the ability to read system RAM to support textures. If it weren’t for 3-D games, AGP (and probably even PCIe) would almost certainly not exist.

3-D Video Cards

No CPU of the mid-1990s could ever hope to handle the massive processes required to render 3-D worlds. Keep in mind that to create realistic movement, the 3-D world must refresh at least 24 times per second. That means that this entire process, from transformation to texturing, must repeat once every 1/24th of a second! Furthermore, although the game re-creates each screen, it must also keep score, track the positions of all of the objects in the game, provide some type of intelligence to the bad guys, and so on. Something had to happen to take the workload off the CPU. The answer came from video cards.

Video cards were developed with smart onboard graphics processing units (GPUs). The GPU helped the CPU by taking over some, and eventually all, of the 3-D rendering duties. These video cards not only have GPUs, but also have massive amounts of RAM to store textures.

But a problem exists with this setup: How do we talk to these cards? This is done by means of a device driver, of course, but wouldn’t it be great if we could create standard commands to speed up the process? The best thing to do would be to create a standardized set of instructions that any 3-D program could send to a video card to do all of the basic work, such as “make a cone” or “lay texture 237 on the cone you just made.”

The video card instructions standards manifested themselves into a series of application programming interfaces (APIs). In essence, an API is a library of commands that people who make 3-D games must use in their programs. The program currently using the video card sends API commands directly to the device driver. Device drivers must know how to understand the API commands. If you were to picture the graphics system of your computer as a layer cake, the top layer would be the program making a call to the video card driver that then directs the graphics hardware.

Several APIs have been developed over the years, with two clear winners among all of them: OpenGL and DirectX. The OpenGL standard was developed for UNIX systems but has since been ported, or made compatible with, a wide variety of computer systems, including Windows and Apple computers. As the demand for 3-D video became increasingly strong, Microsoft decided to throw its hat into the 3-D graphics ring with its own API, called DirectX. We look at DirectX in depth in the next section.

Although they might accomplish the same task (for instance, translating instructions and passing them on to the video driver), every API handles things just a little bit differently. In some 3-D games, the OpenGL standard might produce more precise images with less CPU overhead than the DirectX standard. In general, however, you won’t notice a large difference between the images produced by using OpenGL and DirectX.

DirectX and Video Cards

In the old days, many applications communicated directly with much of the PC hardware and, as a result, could crash your computer if not written well enough. Microsoft tried to fix this problem by placing all hardware under the control of Windows, but programmers balked because Windows added too much work for the video process and slowed down everything. For the most demanding programs, such as games, only direct access of hardware would work.

This need to “get around Windows” motivated Microsoft to unveil a new set of protocols called DirectX. Programmers use DirectX to take control of certain pieces of hardware and to talk directly to that hardware; it provides the speed necessary to play the advanced games so popular today. The primary impetus for DirectX was to build a series of products to enable Windows to run 3-D games. That’s not to say that you couldn’t run 3-D games in

Return Main Page Previous Page Next Page

®Online Book Reader