ATI Radeon 9800 Serie
De nieuwe Radeon 9800 3D-chip, tot nu bekend onder codenaam R350, is zoals gezegd de opvolger van de succesvolle Radeon 9700. De nieuwe Radeon 9800 is geen volledig nieuwe 3D-chip die van de grond af aan opnieuw is ontworpen, maar meer een 'versie 2.0' van de Radeon 9700. De interne opbouw van de Radeon 9800 wijkt niet ver af van die van de Radeon 9700. Het gros van de specificaties is identiek, al zijn er uiteraard een aantal nieuwigheidjes bij de nieuwe chip. Eerst de zaken die het zelfde zijn gebleven: net als de 9700 is de Radeon 9800 een volledig DirectX 9 compatible 3D-chip. Intern vinden we een achttal parallelle pixel-pipelines, zodat de chip aan acht pixels tegelijkertijd kan rekenen. Om DirectX 9 compatible te zijn heeft de chip programmeerbare vertex- en pixel-shaders die voldoen aan de vertex shader 2.0 respectievelijk pixel shader 2.0 standaard. ATI heeft ervoor gekozen om de Radeon 9800 net als zijn voorloper middels het bestaande 0.15 micron productieproces te laten fabriceren. Ondanks het feit dat de chip die zich qua aantal transistors kan meten met een recente CPU nog in dit relatief 'ouderwetse' productieproces gemaakt wordt, lijkt ATI geen hitteproblemen te hebben. Zoals we verderop zullen zien heeft de Radeon 9800 een vrij simpele koeler aan boord, die geen moeite heeft om de chip probleemloos te laten werken. In tegenstelling tot nVidia's GeForce FX gebruikt de Radeon 9800 dus maar één slot én is het lekker stil. De Radeon 9800 maakt net als zijn voorloper gebruik van DDR I geheugen, maar dan wél een 256-bit variant. Zodoende haalt men geheugendoorvoersnelheden van meer dan 22 GByte/s, een stuk meer dan wat nVidia uit haar 128-bit DDR II geheugen geperst krijgt. Vanzelfsprekend is de Radeon 9800 volledig compatible met AGP 8X.
Nieuw bij de Radeon 9800 zijn in ATI's woorden Smartshader 2.1, Smoothvision 2.1, en HyperZ III+. We zullen kort de nieuwe zaken toelichten. Smartshader is ATI's naam voor de programmeerbare vertex- en pixel-shaders. Dankzij deze programmeerbare onderdelen van de 3D-chip kunnen ontwikkelaars van 3D-games zelf unieke 3D effecten ontwikkelen, om op die manier zo realistisch mogelijke 3D-beelden op het scherm te toveren. Smartshader 2.0 was ATI's eerste implementatie van de vertex shader 2.0 en pixel shader 2.0 standaarden, zoals vastgelegd in DirectX 9. Deze recente versies bieden mogelijkheden voor zeer complexe effecten. Nieuw bij Smartshader 2.1 is de toevoeging van de zogenaamde F-Buffer. Kort door de bocht zorgt de F-Buffer ervoor dat pixel-shader programma's een oneindig aantal instructies kunnen hebben. Alle bestaande pixel shader implementaties hebben een maximum aantal instructies, constanten, textures, e.d. die binnen een enkele rendering-slag gebruikt kunnen worden. Het uitvoeren van meerdere instructies is in veel implementaties al zondermeer mogelijk, maar daarvoor moet altijd de volledige pipeline van de pixel shader doorlopen worden, terwijl de extra instructies vaak alleen van toepassing zijn op het laatste gedeelte daarvan, waarin alle kleur berekeningen worden gedaan. De F-Buffer zorgt ervoor dat het mogelijk is om de output van deze color processor bij de volgende rendering-slag weer meteen als input aan de color processor toe te voeren. Op die manier hoeft niet meer de gehele pixel shader doorlopen te worden. Dankzij de F-Buffer worden lange pixel shader programma's dus een stuk efficiënter uitgevoerd. Onderstaande afbeelding verduidelijkt e.e.a.
De F-Buffer maakt pixel shader programma's met een oneindig aantal
instructies mogelijk
Moeten we nu meteen warm lopen voor die F-Buffer? Eigenlijk niet. De DirectX 9 specificatie heeft een maximum van 64 instructies voor de pixel shader en daar zal geen enkele game programmeur bovenuit gaan om zo compatible te blijven met alle DirectX 9 videokaarten. Wellicht dat over een aantal jaar in DirectX 10 deze mogelijkheden wél vereist zijn, maar dan zijn vast ook weer andere zaken noodzakelijk die de Radeon 9800 nog niet aan boord heeft. De F-Buffer lijkt op dit moment voornamelijk interessant voor mensen die de Radeon kaarten voor professionele 3D-toepassingen willen gaan gebruiken. ATI geeft als voorbeeld aan dat filmmaatschappijen snel complexe 3D-effecten die in films als Toy Story en Monsters Inc. gebruikt worden semi-realtime op een Radeon 9800 kunnen bekijken.
Smoothvision is ATI's naam voor het onderdeel binnen de 3D-chip van voor full scene anti-aliasing zorgt. Het nieuwe Smoothvision 2.1 heeft in relatie tot Smoothvision 2.0 dat we in de Radeon 9700 tegenkwamen, alleen enkele prestatie-verbeteringen ondergaan. ATI geeft aan dat men het aantal geheugenaanroepen dat FSAA benodigd heeft teruggebracht, zodat de performance daling na het inschakelen van FSAA bij Smoothvision 2.1 nog lager is geworden.
Verdere prestatie-verbeteringen vinden we terug bij HyperZ III+, ATI's naam voor het systeem dat de benodigde geheugenbandbreedte zo veel mogelijk beperkt. Men doet dit onder andere door lossless compressie uit te voeren op alle kleur en diepte (Z) data die door de chip en het geheugen stroomt. HyperZ III+ heeft verder een geavanceerde cache voor de Z-buffer en de Stencil-buffer. Om het geheugen even op te frissen: in de Z-Buffer slaat een 3D-chip de diepte waardes van alle gerenderde pixels op, om zo te achterhalen of nieuwe 3D-objecten wel of niet zichtbaar zijn. Als een al berekend 3D-object vóór het nieuwe 3D-object staat (en dus lagere Z-waardes heeft), kan het nieuwe 3D-objecten verder buiten beschouwing gelaten worden. De Stencil-buffer is lijkt qua werking veel op de Z-buffer: ook hier kan voor iedere verwerkte pixel een bepaalde waarde opgeslagen worden. Bij de Stencil-buffer kan een programmeur echter zelf bedenken welke informatie hij in welke vorm wil opslaan. De Stencil-buffer wordt vaak gebruikt voor het berekenen van realistische schaduweffecten: door in de Stencil-buffer bij te houden welke objecten in elkaar schaduw vallen, kunnen zeer realistische schaduws bij (bewegende) lichtbronnen gemaakt worden. Het berekenen van realistische shaduws met behulp van de Stencil-buffer is een zeer complex werkje, dat door de speciale caches binnen de nieuwe ATI flink versneld kan worden. Volgens ATI zullen vooral toekomstige games, zoals Doom 3, er veel voordeel uit halen.
De Chipmunk demo geeft een beeld van de mogelijkheden van de Radeon 9800