The number of computational (shader) units or processors. Video cards Shader unit frequency

Basic components of a video card:

  • exits;
  • interfaces;
  • cooling system;
  • GPU;
  • video memory.

Graphics technologies:

  • dictionary;
  • GPU architecture: features
    vertex/pixel units, shaders, fill rate, texture/raster units, pipelines;
  • GPU architecture: technology
    technical process, GPU frequency, local video memory (volume, bus, type, frequency), solutions with multiple video cards;
  • visual functions
    DirectX, high dynamic range (HDR), full-screen anti-aliasing, texture filtering, high-resolution textures.

Glossary of basic graphic terms

Refresh Rate

Just like in a movie theater or TV, your computer simulates motion on the monitor by displaying a sequence of frames. The monitor's refresh rate indicates how many times per second the image on the screen will be updated. For example, a frequency of 75 Hz corresponds to 75 updates per second.

If the computer processes frames faster than the monitor can output, then problems may occur in games. For example, if the computer renders 100 frames per second, and the monitor's refresh rate is 75 Hz, then due to overlaps, the monitor can only display part of the image during its refresh period. As a result, visual artifacts appear.

As a solution, you can enable V-Sync (vertical sync). It limits the number of frames the computer can output to the monitor's refresh rate, preventing artifacts. If you enable V-Sync, the number of frames calculated in the game will never exceed the refresh rate. That is, at 75 Hz the computer will output no more than 75 frames per second.

Pixel

The word "Pixel" stands for " pic ture el ement" - image element. It is a tiny dot on the display that can glow in a certain color (in most cases, the hue is displayed by a combination of three basic colors: red, green and blue). If the screen resolution is 1024x768, then you can see a matrix of 1024 pixels in width and 768 pixels in height. All the pixels together make up the image. The image on the screen is updated from 60 to 120 times per second, depending on the type of display and the data output from the video card. CRT monitors refresh the display line by line, while flat panel LCD monitors can refresh each pixel individually.

Vertex

All objects in a 3D scene are made up of vertices. A vertex is a point in three-dimensional space with coordinates X, Y and Z. Several vertices can be grouped into a polygon: most often it is a triangle, but more complex shapes are possible. A texture is then applied to the polygon, which makes the object look realistic. The 3D cube shown in the illustration above consists of eight vertices. More complex objects have curved surfaces that are actually made up of a very large number of vertices.

Texture

A texture is simply a 2D image of an arbitrary size that is mapped onto a 3D object to simulate its surface. For example, our 3D cube consists of eight vertices. Before applying the texture, it looks like a simple box. But when we apply the texture, the box becomes colored.

Shader

Pixel shader programs allow the video card to produce impressive effects, for example, like this water in Elder Scrolls: Oblivion.

Today there are two types of shaders: vertex and pixel. Vertex shader programs can modify or transform 3D objects. Pixel shader programs allow you to change the colors of pixels based on some data. Imagine a light source in a 3D scene that causes illuminated objects to glow brighter, while at the same time causing shadows to be cast on other objects. All this is achieved by changing the color information of the pixels.

Pixel shaders are used to create complex effects in your favorite games. For example, shader code can make the pixels surrounding a 3D sword glow brighter. Another shader can process all the vertices of a complex 3D object and simulate an explosion. Game developers are increasingly turning to complex shader programs to create realistic graphics. Almost every modern game with rich graphics uses shaders.

With the release of the next Application Programming Interface (API), Microsoft DirectX 10, a third type of shader will be released, called geometry shaders. With their help, it will be possible to break objects, modify and even destroy them, depending on the desired result. The third type of shaders can be programmed in exactly the same way as the first two, but its role will be different.

Fill Rate

Very often on the box with a video card you can find the fill rate value. Basically, fill rate indicates how fast the GPU can output pixels. Older video cards had a triangle fill rate. But today there are two types of fill rates: pixel fill rate and texture fill rate. As already mentioned, the pixel fill rate corresponds to the pixel output rate. It is calculated as the number of raster operations (ROP) multiplied by the clock frequency.

Texture fill rate is calculated differently by ATi and nVidia. Nvidia believes that speed is obtained by multiplying the number of pixel pipelines by the clock frequency. And ATi multiplies the number of texture units by the clock speed. In principle, both methods are correct, since nVidia uses one texture unit per pixel shader unit (that is, one per pixel pipeline).

With these definitions in mind, let us move on and discuss the most important functions of the GPU, what they do and why they are so important.

GPU Architecture: Features

The realism of 3D graphics greatly depends on the performance of the video card. The more pixel shader blocks the processor contains and the higher the frequency, the more effects can be applied to the 3D scene to improve its visual perception.

The GPU contains many different functional blocks. By the number of some components, you can estimate how powerful the GPU is. Before moving further, let us review the most important functional blocks.

Vertex processors (vertex shader units)

Like pixel shader units, vertex processors execute shader code that touches vertices. Since a larger vertex budget allows for the creation of more complex 3D objects, the performance of vertex processors is very important in 3D scenes with complex objects or with a large number of them. However, vertex shader units still do not have such an obvious impact on performance as pixel processors.

Pixel processors (pixel shader units)

A pixel processor is a component of a graphics chip dedicated to processing pixel shader programs. These processors perform calculations that concern only pixels. Because pixels contain color information, pixel shaders allow you to achieve impressive graphical effects. For example, most of the water effects you see in games are created using pixel shaders. Typically, the number of pixel processors is used to compare the pixel performance of video cards. If one card has eight pixel shader units and another has 16 units, then it is logical to assume that a video card with 16 units will be faster at processing complex pixel shader programs. Clock speed should also be taken into account, but today doubling the number of pixel processors is more energy efficient than doubling the frequency of the graphics chip.

Unified shaders

Unified shaders have not yet arrived in the PC world, but the upcoming DirectX 10 standard is based on a similar architecture. That is, the code structure of vertex, geometry and pixel programs will be the same, although shaders will perform different work. The new specification can be seen in the Xbox 360, where the GPU was specially designed by ATi for Microsoft. It will be very interesting to see what potential the new DirectX 10 brings.

Texture Mapping Units (TMU)

Textures should be selected and filtered. This work is done by texture mapping units, which work in conjunction with pixel and vertex shader units. The TMU's job is to apply texture operations to pixels. The number of texture units in a GPU is often used to compare the texture performance of video cards. It's reasonable to assume that a graphics card with more TMUs will give better texture performance.

Raster Operator Units (ROP)

Raster processors are responsible for writing pixel data to memory. The speed at which this operation is performed is the fill rate. In the early days of 3D accelerators, ROP and fill rate were very important characteristics of video cards. Today, ROP work is still important, but video card performance is no longer limited by these blocks as it once was. Therefore, the performance (and number) of ROPs is rarely used to evaluate the speed of a video card.

Conveyors

Pipelines are used to describe the architecture of video cards and give a very clear idea of ​​the performance of the GPU.

Conveyor cannot be considered a strict technical term. The GPU uses different pipelines that perform different functions. Historically, a pipeline meant a pixel processor that was connected to its texture mapping unit (TMU). For example, the Radeon 9700 video card uses eight pixel processors, each of which is connected to its own TMU, so the card is considered to have eight pipelines.

But modern processors It is very difficult to describe by the number of conveyors. Compared to previous designs, the new processors use a modular, fragmented structure. ATi can be considered an innovator in this area, which, with the X1000 line of video cards, switched to a modular structure, which made it possible to achieve performance gains through internal optimization. Some CPU blocks are used more than others, and to improve GPU performance, ATi has tried to find a compromise between the number of blocks needed and the die area (which can't be increased very much). In this architecture, the term “pixel pipeline” has already lost its meaning, since the pixel processors are no longer connected to their own TMUs. For example, the ATi Radeon X1600 GPU has 12 pixel shader units and only four TMU texture mapping units. Therefore, it is impossible to say that the architecture of this processor has 12 pixel pipelines, just as it is impossible to say that there are only four of them. However, by tradition, pixel pipelines are still mentioned.

Taking into account the above assumptions, the number of pixel pipelines in a GPU is often used to compare video cards (with the exception of the ATi X1x00 line). For example, if you take video cards with 24 and 16 pipelines, then it is quite reasonable to assume that the card with 24 pipelines will be faster.

GPU Architecture: Technology

Technical process

This term refers to the size of one element (transistor) of the chip and the accuracy of the manufacturing process. Improvements in technical processes make it possible to obtain smaller sized elements. For example, the 0.18 micron process produces larger features than the 0.13 micron process, so it is not as efficient. Smaller transistors operate at lower voltage. In turn, a decrease in voltage leads to a decrease in thermal resistance, which results in a decrease in the amount of heat generated. Improvements in the technical process make it possible to reduce the distance between the functional blocks of the chip, and data transfer takes less time. Shorter distances, lower voltages, and other improvements allow higher clock speeds to be achieved.

What complicates the understanding somewhat is that today both micrometers (μm) and nanometers (nm) are used to designate a technical process. In fact, everything is very simple: 1 nanometer is equal to 0.001 micrometer, so 0.09-μm and 90-nm processes are the same thing. As noted above, a smaller process technology allows for higher clock speeds. For example, if we compare video cards with 0.18 micron and 0.09 micron (90 nm) chips, then it is quite reasonable to expect a higher frequency from a 90 nm card.

GPU clock speed

GPU clock speed is measured in megahertz (MHz), which is millions of clock cycles per second.

Clock speed directly affects GPU performance. The higher it is, the more work can be completed in a second. For the first example, let's take nVidia GeForce 6600 and 6600 GT video cards: the 6600 GT graphics processor runs at 500 MHz, and regular card 6600 - at 400 MHz. Since the processors are technically identical, the 6600 GT's 20% increase in clock speed results in higher performance.

But clock speed is not everything. Keep in mind that performance is greatly influenced by architecture. For the second example, let's take the GeForce 6600 GT and GeForce 6800 GT video cards. The 6600 GT GPU clocks at 500 MHz, but the 6800 GT runs at just 350 MHz. Now let's take into account that the 6800 GT uses 16 pixel pipelines, while the 6600 GT uses only eight. Therefore, a 6800 GT with 16 pipelines at 350 MHz will give approximately the same performance as a processor with eight pipelines and double the clock speed (700 MHz). With that said, clock speed can easily be used to compare performance.

Local video memory

Video card memory greatly affects performance. But different parameters memory is affected in different ways.

Video memory size

The amount of video memory can probably be called the most overestimated parameter of a video card. Inexperienced consumers often use video memory capacity to compare different cards with each other, but in reality, capacity has little effect on performance compared to parameters such as memory bus frequency and interface (bus width).

In most cases, a card with 128 MB of video memory will perform almost the same as a card with 256 MB. Of course, there are situations where more memory will improve performance, but keep in mind that more memory will not automatically lead to faster gaming speeds.

Where volume can be useful is in games with high-resolution textures. Game developers provide several sets of textures for the game. And the more memory there is on the video card, the higher resolution the loaded textures can have. High resolution textures provide more high definition and detail in the game. Therefore, it is quite reasonable to take a card with a large amount of memory, if all other criteria match. Let us remind you once again that the width of the memory bus and its frequency have a much stronger impact on performance than the amount of physical memory on the card.

Memory bus width

Memory bus width is one of the most important aspects of memory performance. Modern buses range from 64 to 256 bits wide, and in some cases even 512 bits. The wider the memory bus, the more information it can transfer per clock cycle. And this directly affects productivity. For example, if you take two buses with equal frequencies, then theoretically a 128-bit bus will transfer twice as much data per clock cycle as a 64-bit bus. And the 256-bit bus is twice as big.

Higher bus bandwidth (expressed in bits or bytes per second, 1 byte = 8 bits) gives higher memory performance. This is why the memory bus is much more important than its size. At equal frequencies, the 64-bit memory bus operates at a speed of only 25% of the 256-bit one!

Let's take the following example. A video card with 128 MB of video memory, but with a 256-bit bus, gives much higher memory performance than a 512 MB model with a 64-bit bus. It is important to note that for some cards from the ATi X1x00 line, manufacturers indicate the specifications of the internal memory bus, but we are interested in the parameters of the external bus. For example, the X1600 has an internal ring bus that is 256 bits wide, but an external one that is only 128 bits wide. And in reality, the memory bus operates at 128-bit performance.

Memory types

Memory can be divided into two main categories: SDR (single data transfer) and DDR (double data transfer), in which data is transferred twice as fast per clock cycle. Today, single transmission SDR technology is obsolete. Since DDR memory data is transferred twice as fast as SDR; it is important to remember that video cards with DDR memory most often indicate double the frequency, not the physical one. For example, if DDR memory is specified at 1000 MHz, then this is the effective frequency at which it should operate normal memory SDR to give the same throughput. But in fact, the physical frequency is 500 MHz.

For this reason, many are surprised when the frequency of 1200 MHz DDR is indicated for the memory of their video card, and utilities report 600 MHz. So you'll have to get used to it. DDR2 and GDDR3/GDDR4 memory works on the same principle, that is, with double data transfer. The difference between DDR, DDR2, GDDR3 and GDDR4 memory lies in production technology and some details. DDR2 can operate at higher frequencies than DDR memory, and DDR3 can operate at even higher frequencies than DDR2.

Memory bus frequency

Like a processor, memory (or more precisely, the memory bus) operates on certain clock speeds, measured in megahertz. Here, increasing clock speeds directly affects memory performance. And the memory bus frequency is one of the parameters that is used to compare the performance of video cards. For example, if all other characteristics (memory bus width, etc.) are the same, then it is quite logical to say that a video card with 700 MHz memory is faster than one with 500 MHz memory.

Again, clock speed isn't everything. 700 MHz memory with a 64-bit bus will be slower than 400 MHz memory with a 128-bit bus. The performance of 400 MHz memory on a 128-bit bus is approximately equivalent to 800 MHz memory on a 64-bit bus. You should also remember that GPU and memory frequencies are completely different parameters, and they usually differ.

Video card interface

All data transferred between the video card and the processor passes through the video card interface. Today, three types of interfaces are used for video cards: PCI, AGP and PCI Express. They differ in bandwidth and other characteristics. It is clear that the higher the throughput, the higher the exchange speed. However, only the most modern cards can use high bandwidth, and even then only partially. At some point, interface speed ceased to be a bottleneck; today it is simply sufficient.

The slowest bus for which video cards were produced is PCI (Peripheral Components Interconnect). Without going into history, of course. PCI really degraded the performance of video cards, so they switched to the AGP (Accelerated Graphics Port) interface. But even the AGP 1.0 and 2x specifications limited performance. When the standard increased speeds to AGP 4x levels, we began to approach the practical limit of the bandwidth that video cards can handle. The AGP 8x specification once again doubled the throughput compared to AGP 4x (2.16 GB/s), but there was no noticeable increase graphics performance we haven't received it yet.

The newest and fastest bus is PCI Express. New graphics cards typically use the PCI Express x16 interface, which combines 16 PCI Express lanes for a total throughput of 4 GB/s (one direction). This is twice the throughput of AGP 8x. The PCI Express bus provides the mentioned bandwidth in both directions (data transfer to and from the video card). But the speed of the AGP 8x standard was already sufficient, so we have not yet encountered a situation where switching to PCI Express gave a performance increase compared to AGP 8x (if other hardware parameters are the same). For example, the AGP version of the GeForce 6800 Ultra will work identically to the 6800 Ultra for PCI Express.

Today it is best to buy a card with a PCI Express interface; it will remain on the market for several more years. The most powerful cards are no longer produced with the AGP 8x interface, and PCI Express solutions, as a rule, are easier to find than AGP analogues, and they are cheaper.

Solutions on multiple video cards

Using multiple video cards to increase graphics performance is not a new idea. In the early days of 3D graphics, 3dfx entered the market with two graphics cards running in parallel. But with the disappearance of 3dfx, the technology for multiple consumer video cards to work together was consigned to oblivion, although ATI released similar systems for professional simulators since the release of the Radeon 9700. A couple of years ago, the technology returned to the market: with the advent of nVidia SLI solutions and, a little later, ATi Crossfire.

Sharing multiple video cards provides enough performance to run the game at high quality settings. high resolution. But choosing one solution or another is not so simple.

Let's start with the fact that solutions based on multiple video cards require a large amount of energy, so the power supply must be powerful enough. All this heat will have to be removed from the video card, so you need to pay attention to the PC case and cooling so that the system does not overheat.

Also, remember that SLI/CrossFire requires an appropriate motherboard (either for one technology or another), which usually costs more than standard models. nVidia configuration SLI will only work on certain nForce4 boards, and ATi CrossFire cards only on motherboards with CrossFire chipset or on some Intel models. To complicate matters, some CrossFire configurations require one of the cards to be a special one: CrossFire Edition. After the release of CrossFire, for some models of video cards, ATi allowed the inclusion of collaboration technology via the PCI Express bus, and with the release of new driver versions, the number of possible combinations increases. But still, hardware CrossFire with the corresponding CrossFire Edition card provides higher performance. But CrossFire Edition cards are also more expensive than regular models. On this moment You can enable software CrossFire mode (without a CrossFire Edition card) on Radeon X1300, X1600 and X1800 GTO graphics cards.

There are other factors to consider as well. Although two graphics cards working together provide a performance boost, it is far from double. But you will pay twice as much money. Most often, the productivity increase is 20-60%. And in some cases, due to additional computational costs for matching, there is no increase at all. For this reason, multi-card configurations are unlikely to be worthwhile with cheaper models, since the more expensive graphics card will usually always outperform a couple of cheaper cards. In general, for most consumers, purchasing an SLI/CrossFire solution does not make sense. But if you want to enable all the quality enhancement options or play at extreme resolutions, for example, 2560x1600, when you need to calculate more than 4 million pixels per frame, then you can’t do without two or four paired video cards.

Visual features

In addition to purely hardware specifications, different generations and GPU models may differ in the set of functions. For example, it is often said that the ATi Radeon X800 XT generation cards are compatible with Shader Model 2.0b (SM), while the nVidia GeForce 6800 Ultra is compatible with SM 3.0, although their hardware specifications are close to each other (16 pipelines). Therefore, many consumers make a choice in favor of one solution or another without even knowing what the difference means.

Microsoft DirectX and Shader Model versions

These names are most often used in disputes, but few people know what they really mean. To understand, let's start with the history of graphics APIs. DirectX and OpenGL are graphics APIs, that is, Application Programming Interfaces - open code standards available to everyone.

Before the advent of graphics APIs, each GPU manufacturer used its own mechanism to communicate with games. Developers had to write separate code for each GPU they wanted to support. A very expensive and ineffective approach. To solve this problem, APIs for 3D graphics were developed so that developers write code for a specific API, and not for a particular video card. After that, compatibility problems fell on the shoulders of video card manufacturers, who had to ensure that the drivers would be compatible with the API.

The only difficulty remains that today two different APIs are used, namely Microsoft DirectX and OpenGL, where GL stands for Graphics Library. Since the DirectX API is more popular in games today, we will focus on it. And this standard had a stronger influence on the development of games.

DirectX is creation of Microsoft. In fact, DirectX includes several APIs, only one of which is used for 3D graphics. DirectX includes APIs for sound, music, input devices, etc. The Direct3D API is responsible for 3D graphics in DirectX. When they talk about video cards, this is what they mean, so in this regard the concepts DirectX and Direct3D are interchangeable.

DirectX is updated periodically as graphics technology advances and game developers implement new game programming techniques. As DirectX quickly grew in popularity, GPU manufacturers began tailoring new product releases to accommodate DirectX capabilities. For this reason, video cards are often tied to hardware support for one or another generation of DirectX (DirectX 8, 9.0 or 9.0c).

To complicate matters, parts of the Direct3D API can change over time without changing DirectX generations. For example, the DirectX 9.0 specification specifies support for Pixel Shader 2.0. But DirectX update 9.0c includes Pixel Shader 3.0. So, although the cards are DirectX 9-class, they can support different feature sets. For example, the Radeon 9700 supports Shader Model 2.0, and the Radeon X1800 supports Shader Model 3.0, although both cards can be classified as DirectX 9 generation.

Remember that when creating new games, developers take into account the owners of old machines and video cards, since if you ignore this segment of users, the level of sales will be lower. For this reason, multiple code paths are built into games. A DirectX 9 game probably has a DirectX 8 path and even a DirectX 7 path for compatibility. Usually, if the old path is selected, then some of the virtual effects that are present on new video cards disappear from the game. But on at least, you can play even on old hardware.

Many new games require the latest version of DirectX to be installed, even if the video card is from a previous generation. That is, a new game that will use the DirectX 8 path will still require installing the latest version of DirectX 9 for a DirectX 8 class video card.

What are the differences between different versions Direct3D API in DirectX? Early versions of DirectX - 3, 5, 6 and 7 - were relatively simple in the capabilities of the Direct3D API. Developers could select visual effects from a list and then test how they worked in the game. The next major step in graphics programming was DirectX 8. It introduced the ability to program the video card using shaders, so developers for the first time had the freedom to program effects the way they needed. DirectX 8 supported versions of Pixel Shader 1.0 to 1.3 and Vertex Shader 1.0. DirectX 8.1, an updated version of DirectX 8, received Pixel Shader 1.4 and Vertex Shader 1.1.

In DirectX 9 you can create even more complex shader programs. DirectX 9 supports Pixel Shader 2.0 and Vertex Shader 2.0. DirectX 9c, an updated version of DirectX 9, included the Pixel Shader 3.0 specification.

DirectX 10, the upcoming API version, will accompany the new Windows version Vista. You cannot install DirectX 10 on Windows XP.

HDR lighting and OpenEXR HDR

HDR stands for “High Dynamic Range”. A game with HDR lighting can produce a much more realistic image than a game without it, and not all video cards support HDR lighting.

Before the advent of DirectX 9 graphics cards, GPUs were severely limited by the accuracy of their lighting calculations. Until now, lighting could only be calculated with 256 (8 bits) internal levels.

When DirectX 9 video cards appeared, they were able to produce lighting with high precision - full 24 bits or 16.7 million levels.

With 16.7 million levels and the next step in the performance of DirectX 9/Shader Model 2.0 video cards, HDR lighting became possible on computers. This is a rather complex technology, and you need to watch it in dynamics. If we talk in simple words, then HDR lighting increases contrast (dark shades appear darker, light shades appear lighter), while increasing the amount of lighting detail in dark and light areas. The game with HDR lighting seems more vibrant and realistic than without it.

GPUs compliant with the latest Pixel Shader 3.0 specification enable higher 32-bit precision lighting calculations and floating point blending. Thus, SM 3.0 class video cards can support a special OpenEXR HDR lighting method specifically designed for the film industry.

Some games that only support OpenEXR HDR lighting will not run with HDR lighting on Shader Model 2.0 graphics cards. However, games that do not rely on the OpenEXR method will run on any DirectX 9 graphics card. For example, Oblivion uses the OpenEXR HDR method and only allows HDR lighting on the latest graphics cards that support the Shader Model 3.0 specification. For example, nVidia GeForce 6800 or ATi Radeon X1800. Games that use Half-Life 2's 3D engine, including Counter-Strike: Source and the upcoming Half-Life 2: Aftermath, allow HDR rendering to be enabled on older DirectX 9 graphics cards that only support Pixel Shader 2.0. Examples include the GeForce 5 or ATi Radeon 9500 line.

Finally, keep in mind that all forms of HDR rendering require serious computing power and can bring even the most powerful GPUs to their knees. If you want to play latest games With HDR lighting, you can't do without high-performance graphics.

Full screen anti-aliasing

Full screen anti-aliasing (AA for short) allows you to eliminate the characteristic “ladders” at the boundaries of polygons. But it should be taken into account that full-screen anti-aliasing consumes a lot of computing resources, which leads to a drop in frame rates.

Anti-aliasing is very dependent on video memory performance, so a high-speed video card with fast memory will be able to calculate full-screen anti-aliasing with less impact on performance than an inexpensive video card. Antialiasing can be enabled in various modes. For example, 4x antialiasing will produce a better image than 2x antialiasing, but it will be a big hit to performance. While 2x antialiasing doubles horizontal and vertical resolution, 4x mode quadruples it.

Texture filtering

Textures are applied to all 3D objects in the game, and the larger the angle of the displayed surface, the more distorted the texture will look. To eliminate this effect, GPUs use texture filtering.

The first filtering method was called bilinear and produced characteristic stripes that were not very pleasing to the eye. The situation improved with the introduction of trilinear filtering. Both options work on modern video cards with virtually no performance penalty.

Today's most the best way Texture filtering is anisotropic filtering (AF). Like full-screen antialiasing, anisotropic filtering can be enabled at different levels. For example, 8x AF gives more high quality filtering than 4x AF. Like full screen antialiasing, anisotropic filtering requires a certain amount of processing power, which increases as the AF level increases.

High resolution textures

All 3D games are created with specific specifications in mind, and one of those requirements determines the texture memory that the game will need. All necessary textures must fit into the video card memory during the game, otherwise performance will drop significantly, since accessing the texture in RAM gives a considerable delay, not to mention the paging file on the hard drive. Therefore, if a game developer is counting on 128 MB of video memory as minimum requirement, then the set of active textures should not exceed 128 MB at any time.

Modern games have several sets of textures, so the game will run without problems on older video cards with less video memory, as well as on new cards with more video memory. For example, a game may contain three sets of textures: for 128 MB, 256 MB and 512 MB. There are very few games today that support 512 MB of video memory, but they are still the most objective reason to buy a video card with this amount of memory. While the increase in memory has little to no impact on performance, you will benefit from improved visual quality if the game supports the appropriate set of textures.

What you need to know about video cards?

In contact with

graduate work

Rasterization Operation Units (ROPs)

Rasterization units carry out the operations of writing pixels calculated by the video card into buffers and the operations of mixing them (blending). As noted above, the performance of ROP blocks affects the fill rate and this is one of the main characteristics of video cards. And although in Lately its value has decreased somewhat, and there are still cases where application performance strongly depends on the speed and number of ROP blocks. Most often this is due to the active use of post-processing filters and anti-aliasing enabled at high image settings.

Automation of accounting for banking transactions and its implementation in the 1C Accounting program

If all the activities of a company can be divided into business processes, then the processes can be divided into smaller components. In the methodology of building business processes this is called decomposition...

Internal and peripherals PC

Studying a discrete population model using the Model Vision Studio program

The main "building block" of a description in MVS is the block. A block is some active object, operating in parallel and independently of other objects in continuous time. The block is an oriented block...

Using LMS Moodle in the educational process

Any course must have a central area. There may not be a left or right column with blocks. But the various blocks included in the Moodle learning management system increase the functionality...

Study of teacher capabilities in the system distance learning Moodle

To add new resources, elements, blocks or edit existing ones in your course, click the Edit button located in the control block. General form The course window in editing mode is shown in Figure 2.5: Figure 2...

Simulation during development software

Dictionary UML language includes three types of building blocks: entities; relationship; diagrams. Entities are abstractions that are the basic elements of a model...

Simulation of working in a library

Operators - blocks form the logic of the model. GPSS/PC has about 50 different types of blocks, each of which performs a specific function. Behind each of these blocks there is a corresponding translator subroutine...

Key Features of CSS3

You can design the text in an original way using a variety of conversational blocks, which, again, are made based on CSS3 technologies. (Fig. 5.) Fig. 5...

Key Features of CSS3

The effect of translucency of an element is clearly visible in the background image and has become widespread in different operating systems because it looks stylish and beautiful...

Preparation text document in accordance with STP 01-01

Expansion blocks (cards), or cards (Cards), as they are sometimes called, can be used to service devices connected to the IBM PC. They can be used to connect additional devices(display adapters, disk controller, etc.)...

Video card breakdown and repair

These blocks work in conjunction with shader processors of all specified types; they select and filter the texture data necessary to build the scene...

Production process registration program for automated system electronics industry enterprise management

There are 11 types of blocks from which a specific MES system can be made for a particular production...

Development of a software package for calculating compensation for major repairs

At the lowest level of granularity, Oracle database data is stored in data blocks. One block of data corresponds to a certain number of bytes of physical disk space...

Development of hardware and software management system for transport platforms in Simatic Step-7

System units are components of the operating system. They can be stored by programs (system functions, SFC) or data (system data blocks, SDB). System units provide access to important system functions...

Devices included in the computer

Expansion blocks (cards), or cards (Cards), as they are sometimes called, can be used to service devices connected to the IBM PC. They can be used to connect additional devices (display adapters, disk controller, etc.)...

GPU Architecture: Features

The realism of 3D graphics greatly depends on the performance of the video card. The more pixel shader blocks the processor contains and the higher the frequency, the more effects can be applied to the 3D scene to improve its visual perception.

The GPU contains many different functional blocks. By the number of some components, you can estimate how powerful the GPU is. Before moving further, let us review the most important functional blocks.

Vertex processors (vertex shader units)

Like pixel shader units, vertex processors execute shader code that touches vertices. Because a larger vertex budget allows for more complex 3D objects to be created, the performance of vertex processors is very important in 3D scenes with complex or large numbers of objects. However, vertex shader units still do not have such an obvious impact on performance as pixel processors.

Pixel processors (pixel shader units)

A pixel processor is a component of a graphics chip dedicated to processing pixel shader programs. These processors perform calculations that concern only pixels. Because pixels contain color information, pixel shaders allow you to achieve impressive graphical effects. For example, most of the water effects you see in games are created using pixel shaders. Typically, the number of pixel processors is used to compare the pixel performance of video cards. If one card has eight pixel shader units and another has 16 units, then it is logical to assume that a video card with 16 units will be faster at processing complex pixel shader programs. Clock speed should also be taken into account, but today doubling the number of pixel processors is more energy efficient than doubling the frequency of the graphics chip.

Unified shaders

Unified shaders have not yet arrived in the PC world, but the upcoming DirectX 10 standard is based on a similar architecture. That is, the code structure of vertex, geometry and pixel programs will be the same, although shaders will perform different work. The new specification can be seen in the Xbox 360, where the GPU was specially designed by ATi for Microsoft. It will be very interesting to see what potential the new DirectX 10 brings.

Texture Mapping Units (TMU)

Textures should be selected and filtered. This work is done by texture mapping units, which work in conjunction with pixel and vertex shader units. The TMU's job is to apply texture operations to pixels. The number of texture units in a GPU is often used to compare the texture performance of video cards. It's reasonable to assume that a graphics card with more TMUs will give better texture performance.

Raster Operator Units (ROP)

Raster processors are responsible for writing pixel data to memory. The speed at which this operation is performed is the fill rate. In the early days of 3D accelerators, ROP and fill rate were very important characteristics of video cards. Today, ROP work is still important, but video card performance is no longer limited by these blocks as it once was. Therefore, the performance (and number) of ROPs is rarely used to evaluate the speed of a video card.

Conveyors

Pipelines are used to describe the architecture of video cards and give a very clear idea of ​​the performance of the GPU.

Conveyor cannot be considered a strict technical term. The GPU uses different pipelines that perform different functions. Historically, a pipeline meant a pixel processor that was connected to its texture mapping unit (TMU). For example, the Radeon 9700 video card uses eight pixel processors, each of which is connected to its own TMU, so the card is considered to have eight pipelines.

But modern processors are very difficult to describe by the number of pipelines. Compared to previous designs, the new processors use a modular, fragmented structure. ATi can be considered an innovator in this area, which, with the X1000 line of video cards, switched to a modular structure, which made it possible to achieve performance gains through internal optimization. Some CPU blocks are used more than others, and to improve GPU performance, ATi has tried to find a compromise between the number of blocks needed and the die area (which can't be increased very much). In this architecture, the term "pixel pipeline" has already lost its meaning, since the pixel processors are no longer connected to their own TMUs. For example, the ATi Radeon X1600 GPU has 12 pixel shader units and only four TMU texture mapping units. Therefore, it is impossible to say that the architecture of this processor has 12 pixel pipelines, just as it is impossible to say that there are only four of them. However, by tradition, pixel pipelines are still mentioned.

Taking into account the above assumptions, the number of pixel pipelines in a GPU is often used to compare video cards (with the exception of the ATi X1x00 line). For example, if you take video cards with 24 and 16 pipelines, then it is quite reasonable to assume that the card with 24 pipelines will be faster.


CONTENT

Modern graphics processors contain many functional blocks, the number and characteristics of which determine the final rendering speed, which affects the comfort of the game. Based on the comparative number of these blocks in different video chips, you can roughly estimate how fast a particular GPU is. Video chips have quite a lot of characteristics; in this section we will consider only the most important of them.

Video chip clock speed

The operating frequency of a GPU is usually measured in megahertz, i.e., millions of cycles per second. This characteristic directly affects the performance of the video chip - the higher it is, the more work the GPU can perform per unit of time, process large quantity vertices and pixels. An example from real life: the frequency of the video chip installed on the Radeon HD 6670 board is 840 MHz, and exactly the same chip in the Radeon HD 6570 model operates at a frequency of 650 MHz. Accordingly, all the main performance characteristics will differ. But it’s not only the operating frequency of the chip that determines performance; its speed is greatly influenced by the graphics architecture itself: the design and number of execution units, their characteristics, etc.

In some cases, the clock speed of individual GPU blocks differs from the speed of the rest of the chip. That is, different parts of the GPU operate at different frequencies, and this is done to increase efficiency, because some blocks are capable of operating at higher frequencies, while others are not. Most GPUs are equipped with such GPUs. GeForce video cards from NVIDIA. As a recent example, let's look at the video chip in the GTX 580 model, most of which operates at a frequency of 772 MHz, and the universal computing units of the chip have a frequency doubled - 1544 MHz.

Fill rate

The fill rate shows how fast the video chip is capable of drawing pixels. There are two types of fillrate: pixel fill rate and texture fill rate. Pixel fill rate shows the speed of drawing pixels on the screen and depends on the operating frequency and the number of ROP units (rasterization and blending operation units), and texture fill rate is the speed of sampling texture data, which depends on the operating frequency and the number of texture units.

For example, the peak pixel fillrate of the GeForce GTX 560 Ti is 822 (chip frequency) × 32 (number of ROP units) = 26304 megapixels per second, and the texture fillrate is 822 × 64 (number of texturing units) = 52608 megatexels/s. In a simplified way, the situation is like this - the larger the first number, the faster the video card can draw finished pixels, and the larger the second, the faster the texture data is sampled.

Although the importance of "pure" fill rate has recently decreased markedly, giving way to computational speed, these parameters are still very important, especially for games with simple geometry and relatively simple pixel and vertex calculations. So both parameters remain important for modern games, but they must be balanced. Therefore, the number of ROP units in modern video chips is usually less than the number of texture units.

Number of computing (shader) units or processors

Perhaps, now these blocks are the main parts of the video chip. They perform special programs, known as shaders. Moreover, if earlier pixel shaders performed pixel shader blocks, and vertex shaders performed vertex blocks, then for some time graphic architectures were unified, and these universal computing units began to deal with various calculations: vertex, pixel, geometric and even universal calculations.

For the first time, the unified architecture was used in a video chip game console Microsoft Xbox 360, this GPU was developed by ATI (later purchased by AMD). And in video chips for personal computers unified shader units appeared on the board NVIDIA GeForce 8800. And since then, all new video chips are based on a unified architecture, which has a universal code for different shader programs (vertex, pixel, geometry, etc.), and the corresponding unified processors can execute any program.

Based on the number of computational units and their frequency, you can compare the mathematical performance of different video cards. Most games are now limited by the performance of pixel shaders, so the number of these blocks is very important. For example, if one video card model is based on a GPU with 384 computational processors in its composition, and another from the same line has a GPU with 192 computational units, then at the same frequency the second will be twice as slow to process any type of shaders, and in general will be the same more productive.

Although it is impossible to draw unambiguous conclusions about performance solely on the basis of the number of computing units alone, it is necessary to take into account the clock frequency and the different architecture of units of different generations and chip manufacturers. Only based on these numbers, you can compare chips only within the same line of one manufacturer: AMD or NVIDIA. In other cases, you need to pay attention to performance tests in the games or applications you are interested in.

Texturing Units (TMU)

These GPU units work in conjunction with computing processors; they select and filter texture and other data necessary for scene construction and general-purpose calculations. The number of texture units in a video chip determines texture performance—that is, the speed of fetching texels from textures.

Although recently more emphasis has been placed on mathematical calculations, and some textures are being replaced by procedural ones, the load on TMU blocks is still quite high, since in addition to the main textures, selections must also be made from normal and displacement maps, as well as off-screen render target rendering buffers.

Taking into account the emphasis of many games, including the performance of texturing units, we can say that the number of TMU units and the corresponding high texture performance are also one of the most important parameters for video chips. This parameter has a particular impact on the speed of image rendering when using anisotropic filtering, which requires additional texture samples, as well as with complex soft shadow algorithms and newfangled algorithms like Screen Space Ambient Occlusion.

Rasterization Operation Units (ROPs)

Rasterization units carry out the operations of writing pixels calculated by the video card into buffers and the operations of mixing them (blending). As we noted above, the performance of ROP blocks affects the fill rate and this is one of the main characteristics of video cards of all times. And although its importance has also decreased somewhat recently, there are still cases where application performance depends on the speed and number of ROP blocks. Most often this is due to the active use of post-processing filters and anti-aliasing enabled at high game settings.

Let us note once again that modern video chips cannot be assessed only by the number of different blocks and their frequency. Each GPU series uses a new architecture, in which the execution units are very different from the old ones, and the ratio of the number of different units may differ. Thus, AMD ROP blocks in some solutions can perform more work per clock cycle than blocks in NVIDIA solutions, and vice versa. The same applies to the abilities of TMU texture units - they are different in different GPU generations different manufacturers, and this must be taken into account when making comparisons.

Geometric blocks

Until recently, the number of geometry processing units was not particularly important. One block on the GPU was enough for most tasks, since the geometry in games was quite simple and the main focus of performance was mathematical calculations. The importance of parallel geometry processing and the number of corresponding blocks increased dramatically with the advent of geometry tessellation support in DirectX 11. NVIDIA was the first to parallelize the processing of geometric data when several corresponding blocks appeared in its GF1xx family chips. Then, AMD released a similar solution (only in the top solutions of the Radeon HD 6700 line based on Cayman chips).

In this material, we will not go into details; they can be read in the basic materials on our website dedicated to DirectX 11-compatible graphics processors. What's important to us here is that the number of geometry processing units has a huge impact on overall performance in the newest games that use tessellation, like Metro 2033, HAWX 2 and Crysis 2 (with the latest patches). And when choosing a modern gaming video card, it is very important to pay attention to geometric performance.

Video memory size

Own memory is used by video chips to store the necessary data: textures, vertices, buffer data, etc. It would seem that the more there is, the better. But it’s not so simple; estimating the power of a video card based on the amount of video memory is the most common mistake! Inexperienced users most often overestimate the value of video memory, and still use it to compare different models of video cards. This is understandable - this parameter is one of the first to be indicated in the lists of characteristics of finished systems, and it is also written on video card boxes in large print. Therefore, it seems to an inexperienced buyer that since there is twice as much memory, then the speed of such a solution should be twice as high. The reality differs from this myth in that memory can be different types and characteristics, and productivity growth grows only up to a certain volume, and after reaching it it simply stops.

So, in each game and with certain settings and game scenes there is a certain amount of video memory that is enough for all the data. And even if you put 4 GB of video memory there, there will be no reason for it to speed up rendering, the speed will be limited by the execution units discussed above, and there will simply be enough memory. This is why, in many cases, a video card with 1.5 GB of video memory runs at the same speed as a card with 3 GB (all other things being equal).

There are situations where more memory leads to a visible increase in performance - these are very demanding games, especially at ultra-high resolutions and at maximum quality settings. But such cases do not always occur and the amount of memory must be taken into account, not forgetting that performance simply will not increase above a certain amount. Memory chips have more important parameters, such as the memory bus width and its operating frequency. This topic is so vast that we will go into more detail about choosing the amount of video memory in sixth part our material.

Memory bus width

The memory bus width is the most important characteristic, affecting memory bandwidth (MBB). A larger width allows more information to be transferred from video memory to the GPU and back per unit time, which has a positive effect on performance in most cases. Theoretically, a 256-bit bus can transfer twice as much data per clock cycle as a 128-bit bus. In practice, the difference in rendering speed, although it does not reach two times, is very close to this in many cases with an emphasis on video memory bandwidth.

Modern gaming video cards use different bus widths: from 64 to 384 bits (previously there were chips with a 512-bit bus), depending on the price range and release time specific model GPU For the cheapest low-end video cards, 64 and less often 128 bits are most often used, for the middle level from 128 to 256 bits, and video cards from the upper price range use buses from 256 to 384 bits wide. The bus width can no longer grow purely due to physical limitations - the GPU die size is insufficient to accommodate more than a 512-bit bus, and this is too expensive. Therefore, memory bandwidth is now being increased by using new types of memory (see below).

Video memory frequency

Another parameter that affects memory bandwidth is its clock frequency. And increasing the bandwidth often directly affects the performance of the video card in 3D applications. The memory bus frequency on modern video cards ranges from 533 (1066, taking into account doubling) MHz to 1375 (5500, taking into account quadrupling) MHz, that is, it can differ by more than five times! And since bandwidth depends on both the memory frequency and the width of its bus, memory with a 256-bit bus operating at a frequency of 800 (3200) MHz will have greater bandwidth compared to memory operating at 1000 (4000) MHz with a 128-bit bus.

Particular attention to the parameters of the memory bus width, its type and operating frequency should be paid when purchasing relatively inexpensive video cards, many of which only have 128-bit or even 64-bit interfaces, which has an extremely negative impact on their performance. In general, we do not recommend purchasing a video card using a 64-bit video memory bus for a gaming PC. It is advisable to give preference to at least a medium level with at least a 128- or 192-bit bus.

Memory types

Modern video cards are equipped with several different types of memory. You won't find old single-speed SDR memory anywhere anymore, but modern types of DDR and GDDR memory have significantly different characteristics. Various types DDR and GDDR allow you to transfer two or four times more data at the same clock frequency per unit time, and therefore the operating frequency figure is often doubled or quadrupled, multiplied by 2 or 4. So, if a frequency of 1400 MHz is specified for DDR memory , then this memory operates at a physical frequency of 700 MHz, but they indicate the so-called “effective” frequency, that is, the one at which the SDR memory must operate in order to provide the same bandwidth. The same thing with GDDR5, but the frequency is even quadrupled.

The main advantage of new types of memory is the ability to operate at higher clock speeds, and therefore increase bandwidth compared to previous technologies. This is achieved at the expense of increased latencies, which, however, are not so important for video cards. The first board to use DDR2 memory was the NVIDIA GeForce FX 5800 Ultra. Since then, graphics memory technology has advanced significantly, and the GDDR3 standard was developed, which is close to the DDR2 specifications, with some changes specifically for video cards.

GDDR3 is a memory specifically designed for video cards, with the same technologies as DDR2, but with improved consumption and heat dissipation characteristics, which made it possible to create chips that operate at higher clock speeds. Despite the fact that the standard was developed by ATI, the first video card to use it was the second modification of the NVIDIA GeForce FX 5700 Ultra, and the next one was the GeForce 6800 Ultra.

GDDR4 is a further development of “graphics” memory, running almost twice as fast as GDDR3. The main differences between GDDR4 and GDDR3, which are significant for users, are once again increased operating frequencies and reduced power consumption. Technically, GDDR4 memory is not very different from GDDR3; it is a further development of the same ideas. The first video cards with GDDR4 chips on board were the ATI Radeon X1950 XTX, and NVIDIA did not release products based on this type of memory at all. The advantages of new memory chips over GDDR3 are that the power consumption of the modules can be about a third lower. This is achieved through a lower voltage rating for GDDR4.

However, GDDR4 is not widely used even in AMD solutions. Starting with the RV7x0 family of GPUs, video card memory controllers support a new type of GDDR5 memory operating at an effective quadruple frequency of up to 5.5 GHz and higher (theoretically, frequencies up to 7 GHz are possible), which gives a throughput of up to 176 GB/s using 256-bit interface. If to increase the bandwidth of GDDR3/GDDR4 memory it was necessary to use a 512-bit bus, then the transition to using GDDR5 made it possible to double the performance at smaller sizes crystals and less energy consumption.

The most modern types of video memory are GDDR3 and GDDR5; they differ from DDR in some details and also work with double/quadruple data transfer. These types of memory use some special technologies to increase the operating frequency. Thus, GDDR2 memory usually operates at higher frequencies compared to DDR, GDDR3 at even higher frequencies, and GDDR5 provides the maximum frequency and bandwidth at the moment. But inexpensive models are still equipped with “non-graphic” DDR3 memory with a significantly lower frequency, so you need to choose a video card more carefully.