Memory Architecture:
Along with a redesign and tweak of the shader array in order to accommodate Shader Model 3.0, ATI also took the time to significantly modify their memory controller, too. The idea behind the redesign was to improve the efficiency, allowing for higher clock speeds and increased memory bandwidth. In order to achieve this, ATI has implemented what they are terming a 'Ring Bus' memory controller.
Obviously the most straight forward way to increase memory bandwidth without changing the clock speed or data rate is just to increase the width of the memory interface. However, the problem with that method is that, in order to implement a wider memory interface, you would need to improve the bus width on both the GPU and the attached memory devices, significantly increasing the cost to produce the video card.
The other, more complex, way to solve the problem is to implement latency hiding or caching, arbitration improvements and compression techniques. These can be done without modifying the attached memory devices. This is what ATI has achieved with the ring bus memory controller.
The ring bus controller implemented in to the Radeon X1000 series comprises of two fully programmable 256-bit rings that operate inside the GPU in opposite directions. It is possible that you might hear it referred to as a 512-bit internal memory bus, but it is worth noting that the link to the memory modules is still 256-bit. The ability to program the memory controller means that it is possible for the Catalyst team to tweak the drivers and significantly improve memory bandwidth efficiency on a title or API-dependant basis.
Also, rather than the traditional 4x64-bit channels, ATI have moved to an 8x32-bit array. This means that less bandwidth is wasted when data is written to memory, because ATI's previous memory controllers could
waste bandwidth if the GPU was only writing to half of the memory attached to each 64-bit channel.
HDR... with Anti-Aliasing!
We already know that NVIDIA's GeForce 6 and 7-series were the first GPU's to support FP16 blending and FP16 in the frame buffer, but the nature of the implementation meant that it was not possible to apply Anti-Aliasing while completing an FP16 blend, because the same part of the rasteriser is responsible for doing both functions, and in each case, it has to be the final part of rasterisation.
Due to the nature of R520's architecture, where all of the components that make up the GPU are decoupled, it is possible for the Radeon X1000 series to simultaneously apply Anti-Aliasing and a FP16 blend, which is more commonly known as High Dynamic Range Rendering. We've written quite a bit about HDR implementations in to games in the past, so we don't really need to mull over the basics again.
There's not just one method of Anti-Aliasing supported either, every mode of Anti-Aliasing supported by ATI's current and future hardware is able to be used with HDR enabled. That means that MultiSampling, SuperSampling, Adaptive AA, Temporal AA and Super AA all work with HDR on the new Radeon X1000 series.
Unfortunately, there are no games that support FP16 blending and Anti-Aliasing at the same time so we can't fully test this feature at the moment. The good news is that there is an upcoming patch for Far Cry that will allow both functions to be enabled at the same time - we'll have a closer look at that when it ships. Until then, we agree that it's a nice check box feature to have over the competition, but the question remains whether it is playable or not. Our initial thoughts are that it'll be a feature for those with two Radeon X1800's in CrossFire mode, as you'll get more benefit from 1280x1024 with 0xAA than 1024x768 with 2xAA in most titles - they both look about the same, quality wise, in our opinion.
Some of you may get a little confused by Valve's HDR implementation in Day of Defeat: Source and Half-Life 2: Lost Coast, as it allows Anti-Aliasing to be used at the same time as HDR on all DirectX 9.0 hardware available. That is because they didn't use the FP16 blending method that game developers have opted for thus far - they wanted to create as wide an install base as possible.
Instead, they achieved this by using a single Multiple Render Target buffer to store visible data - there is no overbright data stored, as that prevents Anti-Aliasing from working. If the hardware supports an FP16 frame buffer, the HDR textures are stored in an FP16 linear colour space. If there is no hardware support for FP16 frame buffers, the HDR textures are stored in a 4.12 (fixed point) linear colour space.
The only downside of the method that Valve implemented is that refraction doesn't carry HDR data through - so, for example, you don't see the full HDR effect through windows. In reality, it'd be nice to think that all developers enabled HDR support for as wide an install base as possible, but that doesn't happen. Technology moves forwards and that's what ATI have done here - they've pushed the HDR technology boat out a little further.
Enhanced AA and AF:
Adaptive Anti-Aliasing: At the end of last month, we uncovered
the fact that Radeon X800 could do some form of alpha texture anti-aliasing if enabled via a registry hack. Since the launch of GeForce 7, NVIDIA have been making a lot of noise about its Transparency Anti-Aliasing technique that sampled and anti-aliased alpha textures, as seen in wire fences and vegetation.
This feature is now a check box option in the driver on ATI's new Radeon X1000 series and works in a similar way to NVIDIA's Transparency SuperSampled AA. The new method takes advantage of ATI's programmable Anti-Aliasing patterns, allowing for maximum quality per sample. It works by rendering most of each frame using the normal multi-sample AA pattern, but switches to a super-sample method on polygons and alpha textures that are expected to benefit from it visually. It also works with all of ATI's current Anti-Aliasing methods, including gamma correct, temporal Anti-Aliasing and Super AA, while also working with High Dynamic Range Rendering too.
High Quality Anisotropic Filtering: Along with the new Anti-Aliasing methods, there is also an improved texture filtering mode, which delivers the absolute best filtering quality possible - we'll come to some comparisons soon. The new High Quality AF mode is a check box option in the Anisotropic Filtering section of Catalyst Control Center. It basically uses a more sophisticated method of determining the optimal number of texture samples required for each pixel.
GeForce 6 and 7 both suffer from occasional texture shimmering due to the angle dependant method of Anisotropic Filtering that NVIDIA has chosen to implement. With Radeon X1000 series you can simply turn off the filtering optimisations and use the new High Quality AF mode. Of course, you can remove the filtering optimisations on NVIDIA's video cards by enabling High Quality mode in the driver, but as you'll see later, the image quality difference isn't quite as dramatic as what can be experienced when using ATI's High Quality AF. As you would expect, there is a performance hit when using High Quality AF, but we still believe it is good to see that there is the option to try it out and see whether the performance hit is worth it in the games you are playing at the time.
Want to comment? Please log in.