In the vast array of technology out there today for video processing technology, we are inundated. Some people are perfectly happy on solutions that cost about half of what some companies recommend. On that note some people are not satisfied with the fastest solutions out there now. By understanding the basics of rendering processes, we can get an idea of where we want to be in terms of video performance. Let's start off with part 1 of this installment focused on 2D rendering.
Let's kick off with the basics:
Video RAM and RAMDAC
Back in the day, video cards did not have dedicated video processors. The way things worked was mostly dependant on the CPU. The end user would interact with software, which would instruct the CPU to create screen data, draw area and the graphics to display were also loaded. The CPU would then create the raw pixel data, and send it to the video card's memory, or VRAM. The CPU was doing the bulk of the work.
The video card's job was to then take the data that was sent to its memory and translate that into a signal that the computer monitor can display with. This was dependant on a unit called a RAMDAC. Short for Random Access Memory Digital Analog Converter, and it did exactly that. The only thing that differentiated video cards from one another was the speed of the RAMDAC (measured in MHz) and the size and type of VRAM. The bigger the VRAM, the more pixel data that could be sent to it and the higher resolution and color depth you could achieve. Pixel data was sent to the VRAM in order numbering, with different values attached to a pixel order number, the different shades the pixel could be. The RAMDAC was then tasked with converting the data in the VRAM into the analog signal for a computer monitor, by reading the data in the memory of pixel shades and translating it into an according signal that the monitor will react with by drawing the pixels onscreen. Such was the task of the video card.
The size of VRAM enabled higher resolutions and color depth. When a larger amount of VRAM was available to work with, more pixel information was fed to it. In conjunction it took a faster RAMDAC to keep up with the larger amounts of VRAM. With larger amounts of pixel data converted, higher resolutions, higher color depth, and an overall richer user experience in the GUI environment was achieved.
You definitely know that through SEO, your business will benefit hugely, so you have to make sure to find the right Link Building Company that can help you gain your goals SEO on lookup motor rankings, finding the best Link Building Company for your business is a lot more crucial than ever. Link building Company will help you | Simple Website Templates. Every great website and web design needs a starting place or point. Our own newly redesigned website started from a basic template that was heavily modified to suit our needs and the same can be done for you. Using our simple sea website templates on our site you can buy website templates
Another important factor that developed within the last few years is hardware acceleration. Today's modern GPU's now take a lot of load from the CPU in rendering the 2D desktop. The main components of note are the video processor, and the video card RAM. The term VRAM is not used for the buffer that fills up with pixel data, but rather the memory on the video card is now used for different buffers thanks to a unified memory architecture that most graphics cards support. One of these buffers is the frame buffer, which is used for 2D images on the desktop and for 3D acceleration. The GPU will take the screen draw data generated by the CPU, and rather than the CPU generate the pixel order numbers, the GPU will take the screen draw data and do this independently. At this point in the rendering scheme, data is then stored in the video card memory and the RAMDAC will then convert the data into an analog signal. With the recent GPU's, our VRAM capacity and RAMDAC speeds have significantly increased to the point where very few monitors are beyond the capacity of the video cards. Video cards display 1600x1200 pixels in 32-bit color at 75Hz with relative ease.
Another neat feature of the new GPU's is that the blending effects used in 3D acceleration can be applied to the 2D rendering scheme. Matrox has especially taken advantage of this in their upcoming Parhelia, namely the Glyph anti-aliasing. This function anti-aliases fonts onscreen in hardware. Currently the only way to do this is in software on WindowsXP and the latest KDE release for Linux. Not only does Glyph do this in hardware, but it supports Windows98 and up. Soon it will not be unfeasible to see full acceleration done without any CPU help by the application sending the screen draw data directly to the GPU for processing.
Let's start going over the basic pipeline for rendering on the new GPU's in 2D. First is your CPU generating the desktop and all the objects from the Operating System GUI. This data is sent from the CPU as screen area information with the raw graphics for drawing on the monitor. Your GPU then takes this information and converts it into pixel data, with each pixel assigned a number. Each of these numbers has a value attached to it usually in RGB hex. This data is then stored in the VRAM. Upon the change in the VRAM the RAMDAC will convert this data into the analog signal, and the image leaves your VGA connector to your monitor, where you are reading this article.
The old method before GPU's took control of part of 2D tasking, and even some older graphics cards, consisted of more CPU work. Let's define this in short. The CPU generated all the objects and screen drawing areas. As you interacted with the programs and the OS the CPU would generate different objects, instead of sending this information to the graphics card older systems required the CPU to take on the task of converting this data into the pixel data. The CPU would generate numbers for each pixel, assign a hex value to it for RGB and send that to the VRAM on the graphics card. The graphics card then took over with the RAMDAC converting what's in the VRAM into the analog signal, and if you're on a system with a graphics card older than the GeForce256 you are most likely seeing this article via this old method.
| |
|
Modern Graphics Cards |
| |
|
GPU--> VRAM--> RAMDAC -->Monitor |
| |
/ |
|
| / |
|
|
| GUI/CPU |
|
|
| \ |
|
|
| |
\ |
|
| |
|
Older Graphics Cards |
| |
|
CPU--> VRAM--> RAMDAC--> Monitor |
With that explanation of 2D rendering, we can get a better idea of what graphics cards suit our needs best for us. There is change on the horizon, however. Microsoft's new "Longhorn" operating system is suppose to use 3D objects for the graphical user interface. This new type of interface will greatly change the rendering scheme of our graphics cards so that we can interact with the computers we use. The process will be alot similar to a 3D rendering process, which I will explain in the next installment of this series on "How video cards work". Stay tuned!