ComputerForum.com ComputerForum.com  
TigerDirect
 
Go Back   Computer Forum > Computer Hardware > Video Cards and Monitors

Closed Thread
 
LinkBack Thread Tools Display Modes
Old 02-26-2006, 03:01 PM   #11 (permalink)
Administrator
 
Praetor's Avatar
 
Join Date: Jul 2004
Location: Canada
Age: 24
Posts: 19,946
Default

Section 05 - When Stuff Goes Wrong
I bought a new videocard, plugged it in, computer turns on, fans spin but I got nothin on the monitor
- Is the card firmly plugged in all the way?
- Does the card require additional power connectors? Are those connectors plugged in? If you're using molex->PCIE convertor... is the convertor plugged into the power supply? Does your PSU provide enough power on the 12V line for the videocard?
- Tried the other VGA/DVI connector? Is the monitor confirmed to be working?
- Does the fan on the videocard spin up? How about any diagnostic lights on the motherboard? Do you get any beeping?

My computer shuts-down/restarts (or slows down) when I'm playing games .. what gives? I know my CPU isnt overheating!
Try logging your video card's temperatures. See the VFAQ for a link dealing with this
__________________
ASUS P5K Premium WiFi-AP, Q6600@3.7 / ASUS P5ND, E6400@3.8
4GB OCz Platinum XTC 8500 / 4GB CorsairXMS2 6400
5x500GB Seagate 7200.10 / 2x500 Seagate 7200.10
OCz 8800GTX 768MB @ 630/800 / 2x Galaxy 8800GT SLI

Last edited by Praetor; 02-26-2006 at 03:07 PM.
Praetor is offline  


Old 02-26-2006, 03:01 PM   #12 (permalink)
Administrator
 
Praetor's Avatar
 
Join Date: Jul 2004
Location: Canada
Age: 24
Posts: 19,946
Default

Section 06 - The Encyclopedia
GPU/VPU
An abbreviation for graphical processing unit or visual processing unit this term refers to the chip that provides the video functionality to the computer as a whole. This chip can be present on a discrete card or it can be embedded into the platform as an integrated solution. To avoid confusion, the rest of this guide will refer to this chip as GPU

Video Card
Technically speaking this term refers to a physical expansion card that plugs into the motherboard and provides video capabilities to the system. Used more conversely, the term 'video card' generally refers to the GPU present in the system whether it is a discrete expansion card or not. To avoid confusion, whenever the term videocard is used in this guide, unless otherwise stated, it will refer to a discrete expansion card.

Integrated Graphics/Onboard Video
In order to support a discrete videocard, a computer must have existing expansion slots: providing these expansion slots, from the manufacturer's perspective, has two impacts on the system: [1] increases the cost of the motherboard and [2] increases the cost of the system as a whole (since the system will then have to feature a videocard). To cut these costs, computer manufacturers resort to integrating the video controller directly into the motherboard: the end user has a video display, and the manufacturer makes cuts the most expenses. From a consumer perspective, having integrated video solution generally means less expandability and less performance as a whole (since the video memory will draw from the main system memory, thus reducing the amount of memory available to the system as a whole) however there are reasons sometimes to opt for intagrated video:
  • Low end baseline machines: ideal for people who just need a basic computer to type documents, check email, etc
  • HTPCs (home theater PCs): watching movies doesnt require an exhaustive amount of graphical processing power .. a simple onboard video solution is sometimes sufficient
  • Terminal/office type machines: secretarial type computers do not need massive processing power and nor do public access machines (i.e., library)

Interfaces: PCI, AGP, PCIE
The performance of a videocard is limited by what interface is using: some interfaces provide more bandwdith than others and as such, make a better choice for videocards (and especially gaming cards which are heavily bandwidth dependent). A quick breakdown of interfaces, past and present:
  • PCI. An abbreviation for peripheral component interconnect, this is a 32bit interface (there are 64bit PCI slots available however they are generally used in server environments). Even as videocards moved to faster and better interfaces, PCI videocards still have a very useful purpose in troubleshooting.

    The PCI interface operates at 33Mhz and thus offers 133MB/s of bandwidth (33MHz x 32bits ÷ 8bits/byte = 133MB/s). There are numerous revisions and spin-offs of the PCI interface however such innovations are generally not videocard oriented and as such wont be covered here.
  • AGP. An abbreviation for accelerated graphics port, this 32bit interface was developed in order to better facilitate faster and more bandwidth intensive videocards. AGP operates at 66MHz and as such offers a baseline of 266MB/s of bandwidth (66MHz x 32bits ÷ 8bits/byte = 266MB/s). There does exist a 64bit specification for workstation class cards however that's outside of the scope of this 101.

    For all intents and purposes, AGP is a dedicated PCI connection just for videocards: the advantage of AGP is that eliminates the latencies in accessing the system memory and processor: whereas PCI devices need to negotiate their way to these resources, an AGP device has direct access to these resources. As a sidenote, many times people will refer to AGP as a type of BUS: this is in fact, technically incorrect as a BUS is supposed to facilitate multiple devices: AGP only facilitates a single video device. This is, of course, a very trivial technicality and in general converse, overlooked.

    Different AGP specifications provide varying amount of bandwith:
    • AGP 1X. 266MB/s (66MHz x 32bits ÷ 8bits/byte)
    • AGP 2X. 533MB/s (66MHz x 32bits ÷ 8bits/byte x 2double-pump)
    • AGP 4X. 1066MB/s (66MHz x 32bits ÷ 8bits/byte x 4quad-pump)
    • AGP 8X. 2133MB/s (66MHz x 32bits ÷ 8bits/byte x 8oct-pump)

    Over the years, the AGP specification has been refined and newer revsions have been introduced with increased performance at each stage
    • AGP 1.0. This specification supported 1X, 2X and used a AGP3.3v physical connector
    • AGP 2.0. This specification supported 1X, 2X and 4X and used a AGP1.5v, AGP3.3v or AGP Universal physical connector
    • AGP Pro 1.x. The pro moniker designates that these videocards are destined for highend workstations and often employed in drafting/animation/studio environments. This specification supports 1X, 2X and 4X and used an AGP Pro3.3v, AGP Pro1.5v and AGP Pro Universal physical connector
    • AGP 3.0 This specifcation supports 1X, 2X, 4X and 8X and uses an AGP 1.5v physical connector
    • AGP Pro 3.0. This specification is an expansion on the AGP Pro 1.x and supports 1X, 2X, 4X and 8X; it uses a AGP Pro 1.5 physical connector

    Something that may be confusing are the various voltage values being thrown around along with various speed grades and the possibility of incompatability. To clarify, there are two types of voltages used with AGP videocards: key and signalling.
    • The key-voltages are associated with the physical connector (i.e., in the above list, "AGP 1.5v physical connector" indicates to us that the key-voltage is 1.5 etc (the only exception is that "AGP Universal" has no key-voltage).
    • The signal voltage is the voltage that is associated with the speed ratings of the card:
      • AGP8X uses 0.8v
      • AGP4X uses 1.5v or 0.8v
      • AGP2X and AGP1X uses 3.3v or 1.5v

    With the somewhat overwheliming set of voltages, differing types of voltage, keys, Pro vs non-Pro and various specifications, things can get a bit confusing: as such, there is a fallback: all the devices are physically made such that you can only insert them into compatible sockets (with reasonable force).
  • PCIE. An abbreviation for PCI-Express (and sometimes abbreviated as PCIEx16), this specification, formerly known as 3GIO, PCIE is a very high-speed serialized interface which can be somewhat 'parallelized' by grouping 'lanes' of PCIE (or PCIEx1) together. Each lane provides 250MB/s with video devices having access to either 8-lanes (2GB/s) or 16-lanes (4GB/s) (more on this later in VFAQ)

Shader Models: Pixel Shaders, Vertex Shaders
Firstly, to preemptively clarify a very common misnomer: a shader is not a hardware 'thing' but rather, a shader is simply code. It is a specific type of code that affects the pixels or vertices of a 3d object. To reiterate: video cards, in the context of pixel/vertex shaders, do not "come with shaders".

As just mentioned, a shader is simply a block of code that allows for a game developer to add geometric and/or lighting transformations to a 3d object before it is finally rendered and seen by the end-user. Vertex shaders are available to augment the T&L features (and consequently, any vertex shader programs are run roughly when T&L effects are applied) as well as performing geometric deformations. Pixel shaders are run after all the geomtry has been finalized generally concern themselves with texture, lighting and other surface-related effects.

Over the years, several revisions of the shader models have evolved
  • Shader Model 1.x In contrast to DirectX7 class games/hardware where the game developers experienced "flexibility" by means of a series of toggle-able special effects. DirectX8.x changed things slightly by allowing the game developer to do whatever they wanted within an input and output point so long as the hardware supported the said code (i.e., there were enough hardware registers present to actually execute the desired shader op).
  • Shader Model 2.x Introduced with DirectX9, the SM2.0 and later SM2.x feature set allows game developers to pretty much do everything that gamers have been used to for the last few years: SM2.0 increased the minimum number of registers required (thus increasing the length of the shader programs and indirectly, the complexity). The last major change that SM2.0 brought was looping! No longer do game developers have to write mass procedural programs (which were then limited by the low register counts) as well as some basic [static] branching. The later revisions (i.e., 2.0b) were, for all intents and purposes, effectively, SM3.0 (but without the extended maximum shader length -- which hasn't yet been realized by game developers yet)
  • Shader Model 3.0. The current shader model revision, SM3.0 is essentially a "flexibility extention" on SM2.0b. The major additions include dynamic branching, increased color precision requirements and texture lookups
  • Shader Model 4.0 At this point it seems that SM4.0 is looking to merge the two shader blocks into a single coherent block (so that shader enhancements will apply to both pixel and vertex shaders) as well as integer vs FP memory addressing adjustments

Shader Pipelines
A shader pipeline is essentially a dedicated hardware path for a shader program to run: having more such paths allows for more simultaneous programs to run (and thus there is an overall performance increase as the number of pipelines is increased). For the most part, the effects seen in games effects the world after all geometric data has been processed (i.e., after the vertex shaders have done their work) so there is generally more of a benifit to increase the number of pixel processing pipelines as cards become more advanced (this also explains why there are almost always more pixel pipelines than vertex pipelines).

SLI/Crossfire and other Multigpu configurations
3dfx: where it all started
SLI, originally introduced by 3dfx with their Voodoo2 cards, stood for scan line interleave and it was just that: two video processsors would work towards rendering a frame: one GPU would process the odd lines and the other would render the even ones. 3dfx's implemented SLI using two cards connected by a dongle (which suffers from timing issues since the scene reconstruction occured after the video had been sent to the RAMDACs) as well as having two GPUs on the same board. For the most part, when 3dfx dissapeared, SLI somewhat dissappeared.

nVidia
More recently, nVidia has ressurected the idea of multi-GPU rendering (they weren't the only bunch to do so, just the only one really successful at it). As things currently stand, SLI stands for scalable link interface. The principle here is the same: take to identical and compatible video cards (that is, same make and model), link them up and have the two cards jointly render a scene. There is a theoretical performance increase of 100% however it will never hit that mark due to load-balancing overhead).

A few intrepid manufacturers like Gigabyte and ASUS have gone a step further and put two GPUS and two sets of memory together on single card (i.e., single card SLI). Also, with the latest driver revisions (ok, for some time now), SLI no longer requires that the cards be exactly identical: in fact, the individual cards can be run asynchronously of each other (also, the PEG link is no longer required per se however not using it comes at a roughly 5% performance cost).

ATi's competing technology, Crossfire is essentially the same principle however ATi's crossfire is significantly more 'open'. Whereas nVidia's SLI requires an NF4SLI chipset to be paired with two identical cards for SLI to be enabled, ATI's solution works across multiple chipsets (RX200 and i955X) and two identical cards are not required. In short, Crossfire is slightly more flexible and lenient as far as product selection goes but at the end of the day, as far as the consumer is concerned, it's essentially the same deal. As noted above, SLI has become more flexible as of late however its interesting to note that Crossfire was developed with the flexibility in mind.

RingBus
This is ATi's new fancy 512-bit memory controller architecture which was designed with very high clockspeeds and futureproofing in mind. The quick and dirty explaination of how it works is that there are two 256bit memory paths that data can traverse with four stop-points (at each of those points, the controller can access two memory modules). This means that traversing between memory and the memory controller and the cache is done extremely efficiently -- which may be the explaination behind why the Radeon X1800 cards can compete so well against their GeForce7800 counterparts even though they suffer a pipeline defiecit. Again, a picture can quickly convey the idea how how things operate

HyperMemory & TurboCache
The easiest way to cut costs on budget cards is to use less 'stuff' (i.e., fewer pipelines, a smaller memory bus, less memory etc). This works however, up to a point after which the cost savings no longer outweigh the performance hits. One method of further reducing costs without dropping the performance significantly is by leeching off the system memory (and thus reducing the amount of memory that is physically included on the card).

For an AGP card this would result in a massive performance hit since the bandwidth is optimized for one-way transfers however PCI Express is a full-bandwidth bi-directional interface and so this [leeching the system memory] is now possible with only minor architecture changes. To the end user, the performance
if a card with Hypermemory/TurboCache is comparable (although less than) to the same card with the same amount of actual physical memory present. Generally speaking, it's advisable to avoid purchasing such cards since comparable cards (which dont leech off the system memory) are available for the same price bracket.

Video Memory: [G]DDR, [G]DDR2, [G]DDR3?
To clarify a few things about naming conventions and such within the context of video memory,
  • DDR=DDR1=GDDR=GDDR1
  • DDR2 = DDR-II = GDDR2 = GDDR-II
  • DDR3 = DDR3 = GDDR3
There seems to be something of a consensus to use DDR, DDR-II and GDDR3 to denote the different types of memory and as such we'll use them here. As a side note, the reason they tack on the 'G' is to denote that we are talking about graphics memory rather than normal system memory (the reason for the distinction is because video and system memory are quite different and the extra letter allows us to avoid confusion)

As far as performance goes, there's no difference between the different types of memory: they are all "DDR" meaning that they will all do double-data-rate (meaning that for each clock pulse, data is sent on both the rising and falling portions of the pulse as opposed to the older types of memory which only sent data once per pulse). The difference is however that DDR-II and GDDR3 are capable of higher clock speeds with GDDR3 using a lower signalling voltage and thus not suffering the heat issues encountered with DDR-II. Of the three, as expected, GDDR3 is the most advanced and for those concerned with overclocking and squeezing the most performance from the card. will be the memory type of choice.

Refresh Rate/Response Time
These are measuires of the performance of a display device: the refresh rate measures the number of times a CRT will refresh per second with higher values being superior. Response time is a measure of performance for LCD displays. Although not technically accurate you can 'translate' a response time into a refresh rate using the following conversion:
Approximate Refresh Rate Equivalent = 1000 ÷ Response Time


DSub15, DVI, RCA, Coax, SVideo
DSub15 and DVI are the two common connectors found on videocards which allow for users to connect CRTs and LCDs to them. High end video cards often feature or or more DVI connectors but users with CRTs that dont interface with DVI, a convertor needs to be used.

For videocards featuring more videoIn and videoOut connectors, RCA or S-Video may be used. Both RCA and S-Video are established media connectivity formats with S-Video being the superior of the two.

Vsync
An option present in many games, vsync or vertical synchonization means that the frames being drawn on the screen will coincide will the actual refresh of the display device. Disabling vsync generally allows for higher framerates however since frames are being generated regardless of whether or not the user sees them or not, sometimes there are artifacts. Enabling vsync will limit these artifacts and flickering.

VIVO
An abbreviation for Video-In Video-Out this simply means that the card supports both input and out to/from external video sources. Most videocards will feature some form of VideoOut which allows you to output what you see to a TV or a VCR etc. VideoIn is the exact reverse: it allows you to capture video coming in from a TV or VCR or other similar device. VideoOut is often a standard feature on videocards and such wont add much of a cost to the device; videoin however will add significantly to the cost of the device and as such, if you're on a budget, make sure you want these features if you select a card with VIVO

RAMDAC
An abbreviation for RAM Digital-Analog-Convertor, these devices convert the internal digital signal to an analog form that analog monitors can interpret (digital displays do not need this extra processing). The performance of a RAMDAC is given in MHz with higher ratings allowing for higher resolution + refresh rate combinations. For the most part, avoid buying cards with RAMDACs rated less than 350MHz.
__________________
ASUS P5K Premium WiFi-AP, Q6600@3.7 / ASUS P5ND, E6400@3.8
4GB OCz Platinum XTC 8500 / 4GB CorsairXMS2 6400
5x500GB Seagate 7200.10 / 2x500 Seagate 7200.10
OCz 8800GTX 768MB @ 630/800 / 2x Galaxy 8800GT SLI

Last edited by Praetor; 02-26-2006 at 03:08 PM.
Praetor is offline  
Old 02-26-2006, 03:01 PM   #13 (permalink)
Administrator
 
Praetor's Avatar
 
Join Date: Jul 2004
Location: Canada
Age: 24
Posts: 19,946
Default

API: DirectX, OpenGL
APIs or application programming interfaces are essentially just that: a code interface that a developer can make use of so that [s]he does not have to code every tiny little thing over and over again (i.e., to avoid reinventing the wheel). In the context of 3D game engines, two major API packages exist, DirectX and OpenGL
  • DirectX A Microsoft developed alternative to OpenGL (because, at the time, OpenGL required extensive hardware resources), the DirectX package has expanded to encompass all major aspects of modern consumer computing
    • DirectDraw. For dealing with 2D scenes
    • Direct3D. For developing 3D scenes and the related geometric and lighting aspects
    • DirectInput. For interfacing with input devices
    • DirectPlay. For network intercommunication with games
    • DirectSound. For playing PCM based sounds; also supports positional audio
    • DirectMusic. For playing MIDI based audio

    DirectX has numerous revisions over the years, a quick summary:
    • DirectX 1.0, 4.02.0095. Released in September 1995 (after the launch of Windows95 but before Windows95 OSR2), this was the very first incarnation of DirectX and features (DDraw, DInput, DPlay and DSound)
    • DirectX 2.0, 4.03.1095. Featured with Windows95 OSR2 and Windows NT4.0, the DirectX 2.0 release was very small.
    • DirectX 2.0a, 4.03.1096. Released August 1996, this featured with Windows95 OSR2 and Windows NT4.0, the DirectX 2.0a release added
    • DirectX 3.0, 4.04.0068. Released October 1996, expanded on DPlay, DSound (added positional sound capabilities via DSound3D) and a major step forward with DInput (added the joystick control panel applet)
    • DirectX 3.0a, 4.04.0069. Released March 1997, this release addressed a few bugs revolving for MMX machines
    • DirectX 3.0b, 4.04.0070. Released March 1997, this release addressed some minor issues with international versions of Windows95
    • DirectX 4.0. This was an internal release and was never made available to the public
    • DirectX 5.0, 4.05.00.0155. Released July 1997, DirectX5.0 added force feedback capabilities as well as improved support for MMX systems. From a graphical perspective, the step forward here is that DX5.0 added major support for z-buffers; at the time GPUs were essentially high speed rasterizers with z-buffers (this was the era where fill-rate was a meaningful benchmark)
    • DirectX 5.0, 4.05.01.1721. Shipping with Windows98, this was a tweaked version of the previous release (which really was a beta for NT5.0)
    • DirectX 5.2, 4.05.01.1998. Released in July 1997, this released fixed several security holes in DPlay and made yet some more minor changes
    • DirectX 6.0, 4.06.02.0436. Released in December 1998, DirectX6.0 had support for stencil buffers, texture compression and environment mapped bump mapping, software T&L. Furthermore, DirectX6.0 improved compatiability with firewalls in DPlay as well as performance in both DDraw and DSound.
    • DirectX 6.1, 4.07.00.0700. Released in February 1999, this release improved rasterizer performance as well as improved AGP performance. DirectMusic was also added to the DirectX package at this time.
    • DirectX 7.0, 4.07.00.0700. Released in September 1999, DirectX7 was a revolutionary step forward in computer graphics and introduced hardware T&L, support for hardware texture compression and interfacing with EAX for positional sound. With DirectX7, Microsoft set out a standardized specification for hardware platforms (prior to this it was each manufacturer to their own).
    • DirectX 7.0a, 4.07.00.0716. Released in December 1999, this release addressed compatability and performance issues with force feedback devices
    • DirectX 8.0, 4.08.00.0400. Released November 2000, DirectX 8.0 consolidated the DDraw and D3D interfaces, as well as consolidating DSound and DMusic. DirectX8.0, building on the concrete framework established by DirectX7, added support for Shader Models 1.0, 1.1 and 1.2.
    • DirectX 8.1, 4.08.01.0810, Launched November 2001, DirectX8.1 added support for Shader Model 1.3 and 1.4 as well as fixing some issues with DirectPlay.
    • DirectX 9.0, 4.09.0000.0900, Introduced December 2003, this release added support for Shader Model 2.0.
    • DirectX 9.0a, 4.09.0000.0901. Launched March 2003, this release featured fixes and improvements with D3D and DPlay.
    • DirectX 9.0b, 4.09.0000.0902. Released August 2003, this release featured improvements to performance across the entire package as well as security fixes (mostly in DPlay).
    • DirectX 9.0c, 4.09.0000.0904. Released August 2004, this released added support for Shader Model 3.0 as well as adding security fixes to the previous installation.
    • DirectX 9.0l, 4.09.0000.0905. As of yet currently unreleased but this is suspected to be a Windows Vista release and will feature support for Shader Model 4.0. As it stands now, DirectX 9.0l adds an additional D3D interface.
  • OpenGL. An abbreviation for the Open Graphics Library, OpenGL is a platform independent and for the context of this guide, it competes with DirectX in the gaming industry and also has applications in heavy-duty graphics. OpenGL is only concerned with visual outputs and as such does not have any mechanisms available to deal with input, network, sound etc interfaces.

    While not as revision-crazy as DirectX, there have been several releases to OpenGL
    • OpenGL 1.0. Released April 1992, this is the baseline release of OpenGL
    • OpenGL 1.1. Released in March 1997, this release adds vertex arrays, polygon offset, more support for different texture image formats, as well as minor changes to the baseline specification
    • OpenGL 1.2x. Launched April 1999, this release adds support for 3D textures, texture LOD (level of detail) control, BGRA pixel format support, normal rescaling etc.
    • OpenGL 1.3. Released in August 2001, this adds support for compressed textures, cube mapping, multisampling, multitexturing (in a single pass) as well as numerous texture and environmental transformations.
    • OpenGL 1.4. Released in July 2002, this adds suport for mipmap generation, depth and shadow textures, normal mapping as well as defining a vertex shading framework.
    • OpenGL 1.5. Launched in October 2003, this introduces the GLSL (GL Shader Language), removes the restruction of power-of-two textures for more efficient memory useage and improved shadow functions
    • OpenGL 2.0. Released September 2004, this release adds support for MRT (multiple render targets), two sided stencils, improved GLSL and improved shader performance with particle systems

Pixels and Texels
Pixel is an abbreviation for picture element and is the smallest unit of a digital display; each such dot is assigned a color and brightness value and a composite of such dots creates what we see as an image. The greater the number of pixels in a scene/image, the higher the resolution (i.e., higher quality).

In a similar fashion, a texel is an abbreviation for texture element and where a pixel might be the base unit for a 2D image, a texel is the base unit for a 3D image and defines not just the color/brightness but also the surface characteristics.

More commonly advertised with older (pre-2000) videocards, the pixel-fillrate was a useful benchmark which allowed potential customers to discern between good and bad videocards: with more modern videocards where the emphasis is more on 3D scenes and much more advanced transformations, the pixel fillrate is no longer a significant performance indicator.

Z-Buffer
In a 3D scene where objects may appear in front of other objects, there is no point in wasting processing resources on rendering an object that will never been seen by the user. Whether an object is seen or not by the user is determined. Z-buffers are specified by its precision: 8bit, 16bit, or 24bit

T&L, Transform & Lighting
T&L was a revolutionary step forward for computer graphics where the GPU took over the process of performing all the 3D calculations (geometric and lighting) that used to be performed by the CPU (thus allowing the CPU to concentrate on other tasks). Generally speaking T&L refers to Hardware T&L - software implementations do exist and are used where the hardware acceleration for T&L does not exist but at the cost of a significantly increased burden on the CPU. Hardware that is based on the nVidia GeForce256 or ATi Radeon class cards or better support T&L

Static/Dynamic Lights & Shadows
Light sources in older games were stationary (even when you knocked over what should have been the light source, you could still see the room) in a somewhat "standard" light level. With dynamic lights, light sources can move (i.e. a swinging spotlight will constantly change the lighting in a room). Hand in hand with lighting are shadows: static shadows are just that; you create the same shadow regardless of the lighting intensity coverage: with dynamic shadows, physics calculations are done to determine what shape to draw a shadow as well as how dark to make it.

Meshes, Models, Polygons, Skins, Bones, etc
In a modern 3d game, most or all the "objects" that you can see and interact with are represented in three dimensions and in order to do so, require some form of representation.
  • Mesh. A mesh, in simple terms, is a collection of vertices in 3-space that are interconnected in specifica ways to represent the desired object. As a simple example, consider the eight points of a cube: those vertices along with the lines that interconnect them, are a mesh for a cube object
  • Polygon A polygon is just that: any closed loop of vertices (the minimum number of vertices that can comprise a polygon is three and consequently, the simplest polygon is a triangle). As you increase the number of polygons in a mesh, you increase the complexity (and detail) of that mesh
  • Triangles. Every polygon, no matter how many vertices it has, can be constructed using triangles and as such, the number of triangles comprising a mesh is sometimes used as an indication of its complexity. For older generations of videocards, the number of triangles/sec that a GPU could render was used as a measure of performance
  • Skin. A mesh by itself, is a very boring thing to look at -- just imagine running around in a first person shooter where all the bad guys are simply collections of dots and lines that move in some barely discernable pattern! By adding a skin to the models, the mesh becomes much more interactable -- think of a skin as the fabric of a tent: the tentframe by itself (which represents the mesh) isnt very useful without the covering
  • Bones & Skeletons. Suppose you are creating a mesh for an object and you want to have specific portions of that object to be interconnected and effected by other portions (i.e., head-neck). The bone-structure behind the model tells the physics engine how to deal with that given object when other objects collide with it etc. Entire groups of bones are referred to skeletons
  • Model. This term is sometimes used to refer to the mesh but sometimes refers to the entire final 3d object (i.e., mesh+skins+bones)

Soft Shadows
In videogames we are often accustomed to seeing shadows being very hard-edged and concrete however in reality, the edge regions of shadows are actually blurred and softened. This is what soft-shadowing attempts to emulate albeit at a significant performance hit. For the most part (at the time of this writing), soft-shadowing techniques have just begun to emerge into the market and often, the image quality enhancement does not offset the performance drop.

High Dynamic Range (HDR) & Blooming
In real life, as we transition from a dark area to a very bright one, the light 'feels' brighter than it really is and consequently, what we can see (due to the brightness) is different from what we might have been able to see if there was not such a dramatic transition.

Blooming refers to the spill-over effect (which is very similar to HDR and was used as a less intensive means of emulating proper HDR) where light from a bright object spills over to the surrounding space. As GPUs and video engines have become more and more advanced, HDR has (and will continue) to become more prevalent. For users not using high end hardware, it's often best to disable this option as it will result in a significant performance hit.

As a side note, nVidia cards often market something called HPDR for High Precision Dynamic Range which just means they use 64bit color rather than the customary 32bit color ... for the most part this is just a bragging poijnt rather than anything significant in terms of final image quality (as perceivable by the human eye) or performance; although the potential for image quality improvement is definitely there due to the improved color precision.

Naturally, nothing quite explains all this fancy wording better than a picture (from FarCry):


Antialiasing
When a line is drawn at non-90 degree angles, there will be "jaggies" (i.e., curves look blocky, slanted lines look chunky etc). This "jaggy" phenomena is known as aliasing and it frankly makes games look poor. A method for overcoming this is to perform what is known as antialiasing (AA): by having a look at the data near the point being antialiased, the hardware/engine can smooth out the jaggies so that image quality is improved. Again, nothing like a picture to explain:


Recently ATi and nVidia have developed funky techniques for performing AA on stacked-transparent objects (ATi calls theres adaptiveAA, nVidia calls there's transparencyAA(. Again, a quick picture explains tons:

Often associated with AA is a term, FSAA which stands for Fullscreen AA which is essentially where the videocard renders the screen at a higher resolution than displayed internally, performs a quick AA operation on that and resizes the image to the displayed resolution: the processes gives a better quality/performance ratio than performing a stronger AA operation on the final resolution

Texture Filtering: Billinear, Trillinear, Ansiotropic
All of these texture filturing techniques attempt to deal with a type of artifact that occurs when the camera is far away from a textured surface and/or on a sharp angle to it. Billinear and Trillinear are both isotropic techniques meaning that their texture interpolation is square based. Anisotropic filtering uses a non-square sampling block which allows the filtering method to ensure that the filtering process itself does not introduce more blurring. As before, a picture explains this all very clearly
Like AA, anisotropic filtering (AF) is very taxing on system resources and shouldnt be enabled unless you're running decently high-end hardware. Even though isotropic filtering (i.e., billinear and trillinear) can present problems (and more so billinear), for the most part, you should have some form of filtering (preferably trillinear) and since this filtering costs almost nothing to implement, there is little reason not to.

Texture Compression: 3Dc
3Dc is a open compression technique developed by ATi that allows for up to 4:1 compression meaning that game developers can include 4x as much texture information per memory block as before. As things currently stand, nVidia cards do not utilize 3Dc but instead they use a different texture compression algorithm known as V8U8 which allows for only 2:1 compression.

Framerate
The framerate (fps or Hz) of a game or benchmark is literally the number of frames being rendered per second: the higher this value the better suited your video card is for that task. As a general rule, 30fps is the minimum bar for what is considered playable: if you're getting framerates below 30fps then you should lower the quality settings or even consider an upgrade. Many games and benchmarks have built in mechanisms for displaying the framerate however there is an application called FRAPS that will also do the same for any DirectX/OpenGL scene (and do other functions too).
__________________
ASUS P5K Premium WiFi-AP, Q6600@3.7 / ASUS P5ND, E6400@3.8
4GB OCz Platinum XTC 8500 / 4GB CorsairXMS2 6400
5x500GB Seagate 7200.10 / 2x500 Seagate 7200.10
OCz 8800GTX 768MB @ 630/800 / 2x Galaxy 8800GT SLI
Praetor is offline  
Old 02-26-2006, 03:02 PM   #14 (permalink)
Administrator
 
Praetor's Avatar
 
Join Date: Jul 2004
Location: Canada
Age: 24
Posts: 19,946
Default

Section 07 - A Look at ATi
ATi one of the largest (in terms of marketshare) players in the videocard market with their direct competition being nVidia. Their claims to fame are:
  • Image Quality. Typically speaking, ATi cards are generally known to have superior image quality when compared to their nVidia counterparts
  • AA/AF Performance. Related to their image quality, not only do ATi cards generally have better image quality, enabling performance hitting features like AA and AF generally results in a smaller performance hit on ATi hardware than on nVidia hardware (meaning that more often than not, ATi users can, at the same framerate as nVidia hardware, have AA/AF turned one level higher than their competition)
  • Texture Compression: 3Dc if one of ATi's general claim to fame is image quality, the other is memory efficiency: and 3Dc is a testiment to that: allowing for 4:1 compression of texture, this means that game developers can cram 4x as much data into the texture memory as per usual. ATi's competition, nVidia, uses a different technique that only allows for (currently) 2:1 compression meaning that ATi users enjoy a [potential] 2:1 advantage in terms of texture quality.
  • Unlocking and overclocking. Especially with older cards like the 9500Pro, it was found that pixel processing pipelines could be activated with a simple hack (thus allowing people to buy the cheaper 9500Pro and get the performance of the 9700Pro). This trend is common with other ATi cards as well. Furthermore, ATi cards (until recently with their X1000 series cards) run cooler which then allows for overclocking.
  • Ringbus. Again with memory efficiency, ATi's new 512bit RingBus allows for extremely efficient memory access and even allows for the controller itself to be programmed meaning it can adapt to the changing memory access requirements.

On the flip side however, there are some not-so-great things generally known about ATi:
  • Less than perfect drivers. Until maybe a year or two ago, ATi drivers were quite known to be unstable and present a wide variety off "undesired effects" depending on various games and applications: Starting with Catalyst 4.x, things began to shape up however and for the most part, ATi drivers are quite stable. The problem now however is that dealing with ATi's drivers often means [a] [potentially] dealing with a Catalyst Control Center (which, requiring .NET, has it's own issues to begin with, although users can still opt for the Classic setup) and [b] getting access to ATi's drivers can be a hassle: hotlinking to ATi's website isnt nearly as friendly an experience as, say, nVidia's driver management
  • UDA. ATi's unified driver architecture, an attempt to follow nVidia's footsteps in making a one-file-to-download-for-all-drivers is generally 'bloated'. While this isnt nearly as much of an issue as the .NET drivers or even worse, unstable drivers, it does irk quite a number of people
  • Paper launches. By far one of the most annoying things about ATi are therir paper launches: they announce that a zillion different products are available but none actually hit the market for months to come and others are pulled after a very short lifespan (i.e., X700XT)
  • Nomenclature. It seems with each new generation ATi cards add half a dozen more suffixes to their cards (although nVidia is following suit) ... much to the dismay of casual consumers everywhere.

Now for a quick breakdown of the last three or so generations of ATi cards
  • DirectX7 Class Radeons. These were the cards prior to the introduction of shaders and DirectX; their competition was the GeForce2
    • R100 - Radeon [SDR, DDR, DDR-AIW, KE ,VE]
    • R100 - Radeon 7000
    • R100 - Radeon 7200
    • R200 - Radeon 7500 [Plain, AIW, LE]
  • DirectX8 Class Radeons. These cards featured were generally inferior to thei nVidia counterparts the GeForce3/4Ti cards.
    • R200 - Radeon 8500 [Plain, AIW, LE]
    • R250 - Radeon 9100 [Plain, IGP, ProIGP]
    • R280 - Radeon 9200 [Plain, SE, AIW, Pro]
    • R280 - Radeon 9250
  • DirectX9 Class Radeons - 9000 Series. nVidia proved to be a superior make for DirectX8 class cards however when the Radeon9700 hit the market, things rapidly switched leaving ATi as the dominant player for a very long time (i.e., pretty much until now). nVidia's response was the much failed GeForceFX lineup.
    • R300 - Radeon 9500 [I, L, Pro]
    • R350/R360 - Radeon 9550 [Plain, XT]
    • R350/R360 - Radeon 9600 [Plain, AIW, Pro, SE, Pro-AIW]
    • R360 - Radeon 9600 [XT, AIW-XT]
    • R300 - Radeon 9700 [Plain, AIW, Pro, Pro-AIW]
    • R350 - Radeon 9800 [Plain, SE, XL]
    • R350/R360 - Radeon 9800 [Pro, Pro-AIW]
    • R360 - Radeon 9800 XT
  • DirectX9 Class Radeons - X-Series. This series, lead by the X800/X850 is the direct competitor to the neck-in-neck race with nVidia's GeForce6 lineup
    • R370 - Radeon X300 [Plainl, SE, SE Hypermemory]
    • R380 - Radeon X600 [AIW, Pro, XT]
    • R410 - Radeon X700 [LE, Pro, XT]
    • R410 - Radeon X740 XL
    • R420 - Radeon X800 [SE, Pro, XT, XT PE, XT-AIW]
    • R423/R480 - Radeon X800 [GT, GTO, GTO²]
    • R423 - Radeon X800 XT
    • R430 - Radeon X800 [Plain, XL]
    • R430Pro - Radeon X800 STD
    • R481 - Radeon X850 [Pro, XT, XT PE]
  • DirectX9.0c Class Radeons - X1000-Series. This is the current incarnation of the Radeon lineup, which is due to compete with the current GeForce7 lineup from nVidia
    • R515 - Radeon X1300 [Plain, Hypermemory, Pro]
    • R530 - Radeon X1600 [Pro, XT, XL]
    • R520 - Radeon X1800 [XL, XT]
    • R580 - Radeon X1900 [Plain, XT, XTX]
__________________
ASUS P5K Premium WiFi-AP, Q6600@3.7 / ASUS P5ND, E6400@3.8
4GB OCz Platinum XTC 8500 / 4GB CorsairXMS2 6400
5x500GB Seagate 7200.10 / 2x500 Seagate 7200.10
OCz 8800GTX 768MB @ 630/800 / 2x Galaxy 8800GT SLI
Praetor is offline  
Old 02-26-2006, 03:02 PM   #15 (permalink)
Administrator
 
Praetor's Avatar
 
Join Date: Jul 2004
Location: Canada
Age: 24
Posts: 19,946
Default

Section 08 - A Look at nVidia
Aside from ATi, nvidia is the other corporate behemoth, their claims to fame are:
  • Driver stability For as long as memories can stretch, we've heard of the horror stories with ATi drivers and while that's mostly been fixed by now, nVidia drivers have been, for the most part, stable all the way through. With constant betas and updates being released left, right and center, nVidia's driver team is constantly looking to improve functionality and performance.
  • Revolutionary. While ATi has the Radeon9700 to it's credit (and a hell of a credit it is), first to implement 256bit memory, 3Dc/3Dc+ and more recently, the RingBus; nVidia has major landmarks like TnT (Twin 'n Texel, doubling the texture fill rate capabilities), first 256bit GPU, first to implement hardware T&L, FSAA, UltraShadow, first to provide a top-to-bottom DX9 solution, first to implement SM3.0 and support DX9.0c, the first to successfully ressurrect SLI and multiGPU processing.
  • Product Launches When nVidia says a product is made and ready to go, it really is! Goto a dealer odds are they've got the product to ready to sell (albeit at potentially insane prices)
  • OpenGL. While ATi may have superior performance in DirectX games, the advantage there is nothing compared to the class leading advantage that nVidia has enjoyed for the longest time (although it seems ATi is dealing with this issue via driver tweaks -- and successfully at that).

Although just like ATi, nVidia is known for a few shady things too:
  • Driver cheating. A fairly well known issue of nVidia's drivers performing extensive 'optimizations' for a widely used benchmark known as 3dMark03 and their refusal to admit it when they got caught was a bad moment both for the trustworthiness/effectiveness of benchmarks as well as the true measure of nVidia's performance
  • GeForceFX. Just as this lineup was known for being the first top-to-bottom DirectX9 solution, it was also known for absolutely dismal performance in DirectX9 mode -- so poor that it was better off to treat GeForceFX hardware as DirectX8 hardware. All that and the excessively noisy two slot cooler used with the GeForceFX 5800Ultra.
  • Power Requirements Although this isnt so much of an issue now with the GeForce7/X1000 lineup but with the GeForceFX/GeForce6/X800 lineup, nVidia's cards required an excessive amount of power without providing a linear relationship with performance. Having high thermals didnt help things either
  • GeForce4MX. After a steller job with the GeForce3/GeForce4Ti series, nVidia screws up by releasing the GeForce4MX budget lineup of cards which were DirectX7 parts -- a full step backwards.

Now for a quick breakdown of the last three or so generations of nVidia cards
  • DirectX7 class GeForce cards. nVidia was the first to have a viable (and incredibly successful) DirectX7 platform:
    • NV10 - GeForce [SDR, DDR]
    • NV11 - GeForce2 [MX, MX200, MX400]
    • NV15 - GeForce2 [GTS-V, GTS, Pro, Ultra, Ti]
    • NV17 - GeForce4 [MX420, MX440, MX440SE, MX460, MX4000]
  • DirectX8 class GeForce cards Up until the release of the Radeon9700, these cards were incredibly successful and the later models were still viable as budget options all the way until the GeForce6 line-up
    • NV20 - GeForce3 [Plain, Ti200, Ti500]
    • NV25 - GeForce4 [Ti4200, Ti4400, Ti4600]
    • NV28 - GeForce4 [Ti4800SE, Ti4800]
  • DirectX9 class GeForce Cards - GeForceFX lineup. To nVidia's credit, they released an entire platform of cards that were out of the box DirectX9 capable (to address the GF4MX debacle) but then again the performance of these cards was less than sellar
    • NV30 - GeForceFX 5800 [Plain, Ultra]
    • NV31 - GeForceFX 5600 [Plain, SE, XT, Ultra]
    • NV34 - GeForceFX 5200 [Plain, Ultra]
    • NV34 - GeForceFX 5500
    • NV35 - GeForceFX 5900 [Plain, ZT, SE, XT, Ultra]
    • NV36 - GeForceFX 5700 [Plain, VE, LE, Ultra]
    • NV38 - GeForceFX 5950 [Ultra]
  • DirectX9.0c class GeForce cards - GeForce6 lineup. To address the DirectX9 issues the GeForceFX lineup had, the GeForce6 lineup offered a generational leap in performance and was the first to support DirectX9.0c, a marketing point that it's competition, the X800 lineup, could not make.
    • NV40 - GeForce6800 [Ultra Extreme]
    • NV40/NV41/NV42 - GeForce6800 [Plain]
    • NV40/NV45 - GeForce6800 [GT, Ultra]
    • NV41/NV42 - GeForce6800 [XT, LE]
    • NV44 - GeForce6200 [Plain, Turbocache]
    • NV44 - GeForce6600 [Plain, GT, XT, LE]
    • NV45 - GeForce6800 [GTO]
  • DirectX9.0c class GeForce cards - GeForce7 lineup. Yet another massive leap in performance, the GeForce7 lineup has had a 6 month marketshare advantage on ATi's competition, the X1000 series
    • G70 - GeForce 7800 [GS, GT, GTX]
__________________
ASUS P5K Premium WiFi-AP, Q6600@3.7 / ASUS P5ND, E6400@3.8
4GB OCz Platinum XTC 8500 / 4GB CorsairXMS2 6400
5x500GB Seagate 7200.10 / 2x500 Seagate 7200.10
OCz 8800GTX 768MB @ 630/800 / 2x Galaxy 8800GT SLI
Praetor is offline  


Old 02-26-2006, 03:02 PM   #16 (permalink)
Administrator
 
Praetor's Avatar
 
Join Date: Jul 2004
Location: Canada
Age: 24
Posts: 19,946
Default

Section 09 - Official Crap
ATi Stuff
nVidia Stuff

General Video Stuff
__________________
ASUS P5K Premium WiFi-AP, Q6600@3.7 / ASUS P5ND, E6400@3.8
4GB OCz Platinum XTC 8500 / 4GB CorsairXMS2 6400
5x500GB Seagate 7200.10 / 2x500 Seagate 7200.10
OCz 8800GTX 768MB @ 630/800 / 2x Galaxy 8800GT SLI
Praetor is offline  
Closed Thread

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT +1. The time now is 01:08 PM.


Powered by: vBulletin Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.1.0 ©2007, Crawlability, Inc.
Copyright © 2002-2007 Computer Forum and Web Design Forum