Graphics Card: A Gamer's Best Friend

Hello Readers,

Today we will cover some basic concepts about how and why are Graphics Cards: A Gamer's Best Friend, regarding how a GPU works in a gaming point of view.

So, What exactly is a Graphics Card?

In Simple terms, a graphics card is an expansion card, which in itself can be considered a micro motherboard with a Processing Unit (GPU) and Memory (VRAM), that converts digital data to analog, for creating a picture/video on a monitor. Although, as of 2018, monitors have digital interfaces which means that the Graphics card only has to process and draw images/videos to the user's display device.

In the following points I'm mentioning some very basic info about graphics cards:

  • Graphics cards of present-day use a PCI-E x16 slot, which acts as a bridge between the CPU and the Card.
  • They come in different form factors and with different types of cooling options, ranging from silent passive cooling solutions for low power users to multi-fan solutions for enthusiast users.
  • They come in different types, differentiated by purpose, example Nvidia's Geforce Series for Home users and/or gamers and enthusiasts, Quadro for mainstream users (For a detailed comparison between Quadro and GeForce technology please refer to this link here).
  • They come with different technical specifications, like different VRAM(Video RAM) size, GPU Clock, Memory Clock, Number of Shaders, Technologies supported etc.
  • They have different generations similar to microprocessors. e.g Geforce 8000 series followed by Geforce 9000 series by nVidia, for the AMD side of things the HD 4000 series and the HD 5000 series etc.
  • There are mainly 2 brands at present who compete in the PC Graphics market, although it has not always been like this as when graphics cards first came into existence there were many brands such as VIA, Matrox, etc (You can find most of the brands listed in this wiki).
    AMD and Nvidia compete toe to toe in the video card market.
  • A common misconception among most buyers is that a higher model number means a better performer. That is not completely true, for example, if the compared cards belong to the same generation, say a GTX 650 and a GTX 680, then we can safely assume that the one with the higher number should perform better, whereas if comparing a GTX 980 and a GTX 1050 we cannot assume that the GTX 1050 will perform better. The main reason for this is that the GTX 980 was meant to be a higher tier card than the GTX 1050 (evident and differentiated by the '8' in 980 and '5' in 1050).

Components of a Graphics Card:


  • Graphics Processing Unit(GPU): The processor/core/heart of the Graphics Card, where all the processing is done. This is the unit that converts digital signals to the analog output that are displayed on the monitor. This component controls resolution, color depth and all elements associated with rendering images onscreen.
  • RAMDAC: Random Access Memory Digital-to-Analog Converter, this component also (along with the GPU) controls the resolution and color depth. The main function of this component is to convert the digital signals from the PC to Analog signals on the display.
  • Video BIOS: Yes, a Graphics Card comes with its separate BIOS, which is installed/embedded on a VBIOS chip on the graphics card itself.
  • On-Board Video Memory (VRAM): This component is also known as the frame buffer, and is responsible for storing graphical data before and after it is processed by the GPU until the time its displayed on the user's display. For frame buffer memory, however, we currently use GDDR memory GDDR3 and GDDR5 being the most widely available variants. These are, unlike conventional DRAM modules, dual ported which can be read from and written to at the same time without compromising performance. Furthermore, these require less frequent refreshing when compared to a conventional DRAM module.
  • Output Ports: These are the output ports- HDMI, DVI, D-Sub(VGA) or Display Port, of these only the D-Sub/VGA port is analog rest all are digital.
  • Interface: This is the link between the Graphics Card and the motherboard. It's of three types in current generations Graphics Cards namely, PCI-E x4 (Gen 1/Gen2/Gen3), PCI-E x8 (Gen1/2/3)
    • The table below shows a brief summary about PCI-E Slot Generations
        
PCI Express
version
Introduced
Line
code
Transfer
rate
Throughput
X1
X2
X4
X8
X16
1.0
2003
8b/10b
2.5 GT/s
250 MB/s
0.50 GB/s
1.0 GB/s
2.0 GB/s
4.0 GB/s
2.0
2007
8b/10b
5 GT/s
500 MB/s
1.0 GB/s
2.0 GB/s
4.0 GB/s
8.0 GB/s
3.0
2010
128b/130b
8 GT/s
984.6 MB/s
1.97 GB/s
3.94 GB/s
7.88 GB/s
15.8 GB/s
4.0
2017
128b/130b
16 GT/s
1969 MB/s
3.94 GB/s
7.88 GB/s
15.75 GB/s
31.5 GB/s
5.0
expected in Q2 2019
128b/130b
32 GT/s
3938 MB/s
7.88 GB/s
15.75 GB/s
31.51 GB/s
63.0 GB/s
Source:Wikipedia


These were all technical details that were irrespective of gaming (for the most part) now I will shed some light (not literally 😂) on the gaming part.

Video games are a big part in everybody's lives, be it mobile gaming, console gaming or PC gaming, a GPU is necessary to process textures and primarily the image displayed on the Monitor/Display device itself. In mobile phones and tablets, we often come across GPU names in the lines of Adreno (found on Snapdragon-based devices, a Qualcomm Proprietary), Mali (found on most ARM-based devices except Snapdragon), PowerVR (yes, made popular by iPhone). When it comes to gaming consoles we have Sony PlayStation (They are built mostly on AMD Hardware), Microsoft's Xbox (Their Xbox One uses AMD hardware), Nintendo's Wii (after Wii Nintendo came up with the Nintendo Switch which, is a handheld device), but leaving all of that behind us we will focus purely on PC gaming in the rest of this blog.

Let's take into account the following GPU-Z Screenshot:
In the above screenshot, you will first see the name of the graphics card, then the GPU Name (its codename) followed by its revision. The most important details in the above screenshot that directly affects graphics performance and/or support are, Bus Interface (covered earlier in this post), DirectX Support- This directly correlates to the graphics technology supported by the graphics card (DirectX 11/Shader Model 5 is most widely used), Pixel Fillrate is how fast a card can render/draw pixels on screen and this measurement is an effective way of comparing cards, Texture Fillrate is how fast a card can render/draw textured pixels on screen and this is also a valid way of comparing Graphics cards, last but not least comes memory bandwidth which is essential for a Graphics Card's performance as it resembles the bandwidth of the VRAM, which is crucial for communication of the VRAM and the GPU.


A brief summary of the above terms are provided below: 

  1. Pixel Fillrate: Pixel fillrate refers to how fast a graphics card can render unprocessed or raw pixels on screen at a time. The basic unit of this is mpixels/sec(older cards) or Gpixels/sec (all newer cards). The number of ROPs affect the pixel fillrate of a card, i.e if a card has 16 ROPs and a 100 Mhz Core Clock then the Pixel fillrate of the cards will be 16x100 mpixel/s or gpixel/s (unit depends on the age of the card). Although this is theoretical and there are other ways like multiplying the number of pixel pipelines with the core clock, to find the fillrate, this current method is much more effective and is much more closely precise. Pixel Fillrate affects Anti Aliasing performance directly and the resolution on which a game is rendered.
  2. Texture Fillrate: It is the number of texture maps a GPU can map to pixels in a second. Its unit is either mtexels/second or gtexels/second and can be calculated by multiplying the number of texture mapping units by the core clock frequency. Texture Fillrate is what affects all graphical effects seen on screen, like texture filtering, post-processing, depth of field effects, shading, shadows, etc. In general, a GPU has a higher number of TMUs as compared to ROPs as texture drawing is much more considerable when compared with Pixel drawing.
  3. Memory Bandwidth: Memory bandwidth plays a crucial role in gaming. The higher the bandwidth, the better the experience in games. But we need to also keep in mind that the memory bandwidth is not everything when it comes to gaming performance, to properly utilize the memory bandwidth the GPU needs to have sufficient power, otherwise, the GPU core will bottleneck or saturate the memory. The Memory bandwidth is crucial to provide seamless communication between the CPU and GPU, another term that comes into consideration when talking about CPU to GPU communication and vice versa is memory width, written in bits. A Graphics card with a Memory width of 128 bit will offer more headroom for the communication between the GPU and CPU as compared to a graphics card with a 64-bit width. When talking about memory bandwidth in graphics cards we also need to note that different types of memory have different bandwidth, which means a graphics card which has GDDR3 memory will have lesser bandwidth than one which has GDDR5 memory. In the above-provided screenshot you will, however, see that the memory type given is DDR3, the reason behind it is that most iGPs (Integrated Graphics Processors) use portion of the System RAM as their VRAM, hence a system with DDR3 RAM will show DDR3 as graphics memory type and a system with DDR4 memory will show DDR4 as graphics memory type. To calculate memory bandwidth we can use the following:
      • GDDR3: (Memory Clock * (Memory Bus / 4)) / 1000*
      • GDDR5: (Memory Clock * (Memory Bus / 2)) / 1000*
      • GDDR5X: (Memory Clock * Memory Bus) / 1000*
  4. DirectX Support: DirectX is the set or, a collection of APIs (Application Programming Interfaces) that emphasize handling tasks related to multimedia applications, especially games. Many readers/gamer/3d Designers have certainly come across the term DirectX. The latest iteration is DirectX 12 that's available in Windows 10, although DirectX 11 (Shader Model 5) is more widely used due to the compatibility and ease of optimizations in the close future (from the time a game is released into the market for consumers to enjoy). Some pretty commonly heard API names, which some of you might not even have known were APIs, are DirectSound, Direct3D, DirectDraw, DirectMusic, DirectPlay, etc.

    In short, DirectX. The 'X' stands for the API names as in Sound or Draw or any other API with Direct in their name. Direct3D is the API that is used to work on graphics and/or 3D drawing, i.e it is used in the development of video games for the Microsoft platforms (Windows OS and Xbox consoles) : DirectX 9c (Shader Model 3) became popular during the Windows XP days, then DirectX 10(Shader Model 4) came with the launch of Vista and was very much unsuccessful, then came DirectX 11 (Shader Model 5) with windows 7 and gained popularity over the years followed by DirectX 11.1 that came with Windows 8, DirectX 11.2 came with Windows 8.1 followed by DirectX 11.3 and 12 in Windows 10, which include lower level APIs for better utilization of resources. AMD launched their Mantle API and Khronos Group's Vulkan API was also launched alongside Direct3D 12, Currently, we have DXR (DirectX Raytracing) which will enable the use of ray tracing capable hardware to utilize Raytracing features in video games, which according to most developers will produce lifelike visual output.

Last but not least I hope I was able to cover and summarize all the content I mentioned in my post, If not feel free to comment and let me know. Good Day/Night To You All!!

0 comments:

Post a Comment