Back when NVIDIA released the GeForce 6800 in April, they made great reference to the capabilities of Shader Model 3.0 - a feature that their competitors had chosen not to support in their new GPU architecture - the Radeon X800 series. NVIDIA then followed in the footsteps of the GeForce 6800 series with 6600 and 6200 series', bringing top-to-bottom support for Shader Model 3.0 to their product range.
NVIDIA had stated that there were image quality benefits to be had from choosing to use Shader Model 3.0, but came unstuck when in fact, the image quality benefits were not apparent when comparing a Shader Model 2.0-rendered scene to a Shader Model 3.0-rendered scene, as the lengths of Shader instructions in today's games do not imply any strict benefits to image quality.
We're used to modern games being updated at regular intervals in this day and age, and things are made easier with widespread broadband availability across the globe. It's no longer an issue for users to download a patch, which is normally released to fix bugs, add in new maps and weapons amongst other things; it's a rare occurrence for us to see a patch used to introduce a host of new features to the games rendering engine, though - this is what Crytek have done here, and is also what they attempted to do with Far Cry patch 1.2.
Patch 1.2 was the first introduction of the updated feature set, which included support for the GeForce 6 series' Shader Model 3.0 capabilities, along with support for geometry instancing and ATI's touted Shader Model 2.0b. Unfortunately, for Crytek, the patch had a very short life span due to a host of stability problems, which led to the prompt removal from all download mirrors and an official statement from Crytek. Patch 1.3 is now here, and we see the re-introduction of these features, along with some other rather interesting introductions in to the graphical rendering engine.
The rather large size of patch 1.3, weighing in at a hefty 74MB, is down to the many new features that are included in the CryEngine 1.3. The new engine build includes the following new graphics features:
Shader Model 3.0 support for the GeForce 6 series;
Shader Model 2.0b support for Radeon X800 & X700 along with GeForce 6 series;
Geometry instancing support for Radeon 9500 and above and GeForce 6 series;
Normal map compression (beta) support for Radeon X800 & X700 series', GeForceFX and GeForce 6 series';
High Dynamic Range Rendering (beta) on the GeForce 6 series.
As we mentioned at the top of this article, the support for Shader Model 2.0b and 3.0 is official, and is enabled by default on all supported boards when the in-game graphics settings are set to 'Very High'. Geometry instancing is enabled by default when the Shader Model 3.0 path is being used, so it is enabled by default on any GeForce 6 board, providing you have forced the Shader Model 3.0 path. On ATI's boards, you need to enable geometry instancing inside Catalyst Control Center under the 'API Specific' tab, after you have done this, start Far Cry and type 'r_geominstancing 1' in console.
Both normal map compression and high dynamic range rendering are in beta development, and must be enabled via console or command-line shortcuts should you choose to use them. To enable the former, you must start up a level and then type 'r_texnormalmapcompressed 1' in console. When you change levels, this option will automatically disable itself again. We will save discussion about high dynamic range rendering for a little later on.
How We Tested:
We are using the full retail version of Far Cry; we have included results from both 1.1 and 1.3 patches for our comparisons. We used the following in-game settings:
We have used the in-game Anti-Aliasing and Anisotropic Filtering control, and thus our driver's AA and AF configuration have been set to "Application Controlled" - you can view our driver settings at the bottom of this page.
Please be aware that the way we test our video cards is not a like-for-like comparison, and it is not meant to be. The current state of the 3D world, where Independent Hardware Vendors no longer render things in a similar fashion, dictates that even an apples-to-apples comparison is no longer a true like-for-like comparison. We decided to concentrate on finding the "Best Playable" settings - this means that we're finding the best possible image quality delivered on each different configuration, while remaining completely playable. There are no time demos used in our evaluations - we're focusing on the real-world gaming experience, which is, ultimately what should determine your next graphics card's purchase.
There is an element of human error in all of our results, as everything is run manually. The important thing is that we're playing through exactly the same part of each title, so the same workload is being placed on the system during this period. Where we lose accuracy from manually running our tests, we gain accuracy from using real-world gaming scenarios, which ultimately place load on to both the CPU and GPU, as you would expect to happen in a real-world gaming experience rather than focusing on out and out 3D rendering performance that is derived from running a time demo or synthetic benchmark.
MSI K8T Neo2 Platinum (VIA K8T800 Pro);
AMD Athlon 64 FX-55 - operating at its default clock speed, 2600MHz (13x200);
2 x 512MB Corsair XMS 3200XL - operating in dual channel with 2.0-2-2-5 timings;
Western Digital 200GB Caviar SATA 150 Hard disk drive;
Windows XP Professional Service Pack 2;
VIA Hyperion 4.51 chipset drivers;
XFX GeForce 6800Ultra - operating at default "reference" clock speeds of 400/1100MHz using ForceWare 66.81.
ATI Radeon X800 XT Platinum Edition - operating at default clock speeds of 520/1160MHz using Catalyst 4.10 WHQL.
Our video drivers were left relatively untouched, with the exception of Anti-Aliasing and Anisotropic Filtering. In some cases, the game title did not have support for Anti-Aliasing or Anisotropic Filtering to be selected from within the game - in these circumstances AA and AF were controlled via the driver control panel. In ATI's drivers, we selected Geometry Instancing support in the 'API Specific' tab.