Praticamente todos os jogos lançados entre 2007 e 2009 foram desenvolvidos primariamente para o DirectX 9.0c, com muitos deles oferecendo compatibilidade com placas DirectX 7 e outros oferecendo suporte opcional ao DirectX 10.
A grande diferença entre as placas DirectX 9.0c e placas DirectX 10 ou DirectX 11 atuais é que as placas DX 9 usam unidades separadas para o processamento de pixel shaders e vertex shaders, enquanto as placas atuais usam shaders unificados. Apesar disso, placas DirectX 9.0c como as GeForce 7800 GTX ainda podem prestar bons serviços, já que o desempenho é equivalente ao de uma placa low-end atual e a base de jogos com suporte ao DirectX 9.0c é simplesmente gigantesca, fruto do fracasso do DirectX 10 e sua relação com o Vista.
Em pleno final de 2009, a migração para o DirectX 10/11 ainda está apenas começando, o que significa que estas placas continuarão sendo capazes de rodar os novos lançamentos (embora com resoluções cada vez mais baixas e menos efeitos) por mais algum tempo.
De volta à história das placas 3D, o primeiro chipset a suportar o DirectX 9.0c foi o NV40 da nVidia, usado na série GeForce 6. O resumo da ópera é que depois do virtual fracasso da série FX, a nVidia voltou aos trilhos com a série GeForce 6, lançada em 2004. Não apenas o desempenho voltou a ser competitivo, mas as placas foram as primeiras a oferecer suporte ao DirectX 9.0c e ao Shader model 3.0, dando início à era moderna.
O chipset original da série foi o NV40, lançado em abril de 2004. Ele é composto por 220 milhões de transístores, utiliza um barramento de 256 bits com a memória e é produzido usando uma técnica de 0.13 micron. Internamente, ele é composto por 16 unidades de processamento de pixels (que resultam em um fill rate de 6400 megatexels a 400 MHz), 16 unidades de pixel shader, 16 unidades de processamento de texturas e 6 unidades de vertex shader.
As primeiras placas baseadas no NV40 ainda usavam o barramento AGP, mas logo foi feita a migração para o PCI Express, através do uso de um bridge AGP>PCIe (chamado pela nVidia de HSI, ou “High Speed Interconnect”), incluído nos chipsets do NV42 em diante.
O uso do bridge resulta em uma pequena redução de desempenho em relação às placas AGP, devido à conversão dos sinais, embora a diferença na prática seja muito pequena. Note que isso afeta apenas as placas GeForce 6, já que a partir da geração seguinte a nVidia passou a desenvolver chips com suporte nativo ao barramento PCI Express.
O NV40 original foi usado nas placas GeForce 6800 (256 MB, GPU a 325 MHz, memória a 700 MHz), GeForce 6800 GT (256 MB, GPU a 350 MHz e memória a 1.0 GHz) e GeForce 6800 Ultra (256 MB, GPU a 400 MHz e memória a 1.1 GHz), todas em versão AGP. A GeForce 6800 original utilizava memórias DDR convencionais, mas a GT e a Ultra utilizavam memórias GDDR3, o que acentuou a diferença de desempenho.
Estes três modelos custavam (na época de lançamento) entre 449 e 599 dólares, seguindo a estratégia de lançar os modelos mais rápidos dentro da série primeiro, de forma a vender o máximo de unidades a preços altos e só então lançar os modelos de baixo custo.

Ao longo da segunda metade de 2004 e o ano de 2005, o NV 40 deu origem a 5 variações: NV41, NV42, NV43, NV44 e NV45. Diferente do que tivemos na série GeForce 4, onde as placas de baixo custo (série MX) eram representantes da série anterior, e ofereciam suporte apenas ao DirectX 7, todos os derivados no NV40 ofereciam o mesmo conjunto de recursos básicos, se diferenciando apenas com base no desempenho.
O NV41 é uma versão de baixo custo do NV40, que possui um número menor de unidades de processamento. Ele inclui 12 unidades de processamento de pixels, 12 unidades de pixel shader, 12 unidades de processamento de texturas e 5 unidades de vertex shader, contra 16/16/16/6 do NV40.
O NV42, por sua vez, é uma versão do NV41 fabricada usando uma técnica de 0.11 micron, que inclui também suporte ao barramento PCI Express, através da inclusão do bridge HSI. Embora o desempenho da GPU não seja diferente do NV41, as placas baseadas no NV42 são capazes de operar a frequências um pouco mais altas em overclock, devido ao uso da nova técnica de fabricação.
Estes dois chipsets foram usados nas placas GeForce 6800 XT (256 MB, GPU a 325 MHz e memória a 700 MHz), GeForce 6800 GTO (256 MB, GPU a 350 MHz e memória a 900 MHz) e GeForce 6800 GS (256 MB, GPU a 425 MHz e memória a 1.0 GHz). Estas placas existiriam tanto em versão AGP quanto PCI Express (as PCI Express utilizam o NV42) e, com exceção da 6800 XT (que utiliza memórias DDR convencionais), também utilizavam memórias GDDR3.
Continuando, temos o NV43, que é basicamente um “meio NV40”, com todas as principais especificações reduzidas à metade. Ele possui apenas 8 unidades de processamento de pixels, 8 unidades de pixel shader, 8 unidades de processamento de texturas e 3 unidades de vertex shader, alimentadas por um barramento de 128 bits com a memória. Naturalmente, a “poda” resultou em uma grande redução no desempenho, mas a idéia era essa mesma, já que o NV43 foi criado para ser um chipset de baixo custo.
Em seguida temos o NV44, uma versão ainda mais reduzida, usada em placas de baixo custo, como as GeForce 6200. O NV44 possui apenas 77 milhões de transístores (pouco mais de um terço do NV40) e é equipado com 4 unidades de processamento de pixels, 4 de texturas, 4 de pixel shader e 3 unidades de vertex shader (o único quesito em que ele não perde para o NV43). O barramento com a memória também foi reduzido à metade, para apenas 64 bits.
O NV43 e o NV44 foram usados nas placas da série GeForce 6 de baixo e médio custo, incluindo as GeForce 6200, 6200 TC, 6500, 6600, 6600 LE e 6600 GT.
As GeForce 6200 TC são as versões mais simples, baseadas no NV44. Elas são placas de extremo baixo custo, baseadas no uso do TurboCache, onde a GPU opera a 350 MHz e são usados apenas 16, 32, 64 ou 128 MB de memória DDR dedicada, acessada através de um barramento de 32 ou 64 bits.
Embora sejam muito lentas se comparado às 6800, elas foram placas bastante populares, devido ao baixo custo. Usando uma 6200 TC com 32 MB você pode jogar Half Life 2 (a 800×600) a 55 FPS (em média), ou o Battlefield 2 (a 1024×760) a 40 FPS. Desde que você mantenha o Antialiasing, o Anisotropic Filtering e outros efeitos desativados, a maioria dos títulos antigos rodam sem maiores problemas, mas, naturalmente, o FPS nos títulos mais atuais é muito baixo.
O TurboCache permite que a placa de vídeo utilize parte da memória RAM do sistema como extensão da memória de vídeo, realizando os acessos através do barramento PCI Express. A ideia básica é oferecer placas com pouca memória de vídeo dedicada, permitindo que a placa “roube” memória do sistema para completar 128, 256 ou 512 MB de memória de vídeo. Como pode imaginar, é essencialmente uma derivação dos sistemas de memória compartilhada encontrados em chipsets de vídeo onboard.
Ele não é usado em placas de médio e alto desempenho, simplesmente porque seu uso não faz sentido em placas com mais memória. Apesar do nome “Turbo Cache”, ele não é um recurso destinado a melhorar o desempenho da placa (em relação a uma placa com mais memória dedicada), mas simplesmente “remendar” placas de baixo custo, permitindo que ela utilize mais memória do que fisicamente disponível. A pequena quantidade de memória dedicada é usada como uma espécie de “cache” para a memória compartilhada, daí o nome.
As GeForce 6200 (sem o “TC”) são versões com mais memória dedicada. Elas são também baseadas no NV44 (ou em uma versão castrada do NV43, onde parte das unidades de processamento são desativadas, de forma que ele fique com o mesmo número de unidades do NV44) e incluem 128 ou 256 MB de memória DDR ou DDR2 dedicada, acessada através de um barramento de 64 bits ou 128 bits (de acordo com o modelo da placa). A frequência da GPU e da memória também varia de acordo com a série, podendo ser de 300 ou 350 MHz para a GPU e 400, 500 ou 533 MHz para a memória.
Toda essa variação dentro da série GeForce 6200 é justificável por esta ser a série de baixo custo, onde a prioridade é cortar custos e não oferecer um bom desempenho. Além das variações “oficiais” dentro da série existem variações introduzidas pelos fabricantes, que em muitos casos aumentam a frequência da GPU, ou utilizam módulos de memória mais rápidos como uma forma de diferenciar suas placas em relação às concorrentes. É por isso que reviews com comparações de placas de diferentes fabricantes, baseadas no mesmo chipset, são tão comuns.
As coisas melhoram a partir das GeForce 6600, que são baseadas na versão “completa” do NV43. A série inclui a GeForce 6600 (128 ou 256 MB, GPU a 300 MHz e memória DDR a 500 MHz), GeForce 6600 DDR2 (256 MB, GPU a 350 MHz e memória DDR2 a 800 MHz) e GeForce 6600 GT (128 MB ou 256 MB, GPU a 500 MHz e memória GDDR3 a 1.0 GHz). A GeForce 6600 original ainda usava memórias DDR, daí a baixa frequência efetiva dos módulos, o que limitava bastante o desempenho da placa. A 6600 GT, por sua vez, já utiliza memórias GDDR3, que oferecem uma frequência efetiva duas vezes maior e tempos de acesso mais baixos.

Existiram ainda as GeForce 6500 (128 ou 256 MB, GPU a 350 ou 450 MHz e memória a 550 ou 700 MHz) e 6600 LE (128 ou 256 MB, GPU a 300 MHz e memória a 500 MHz), versões de baixo custo baseadas em uma versão castrada do NV43, com apenas 4 unidades de processamento de pixels, pixel shader e texturas, em vez de 8. A redução faz com que a queda de desempenho em relação às GeForce 6600 seja maior do que a diferença de clock sugere. A 6600 LE é especialmente lenta, quase no nível das 6200, devido ao baixo clock da GPU e da memória.
Por estranho que possa parecer, o NV44 foi usado também na GeForce 7100 GS, a placa mais barata dentro da série GeForce 7. Nela o NV44 opera a 350 MHz, com a memória (DDR) a 667 MHz, o que resulta em um desempenho pouca coisa superior ao de uma 6600 LE.
Finalmente, temos o NV45. Ao contrário do que a lógica sugere, ele não é uma versão simplificada do NV44, mas sim uma versão atualizada do NV40, que utiliza o barramento PCI Express, graças à inclusão do bridge HSI. Ele foi utilizado nas versões PCI Express da GeForce 6800 GT e 6800 Ultra e também na GeForce 6800 Ultra Extreme (256 MB, GPU a 450 MHz e memória a 1.2 GHz), que foi a placa mais rápida dentro da família GeForce 6.