Introduction
Lets clear up a few things…
After further analysis with Far Cry, it turns out the game isn’t quite the technological tour de force we suggested in part 1 of our 3D Performance with Far Cry article. In that article, we highlighted the game’s use of 2.0 shaders, and while these shaders are used in the game, it turns out that they’re not used as extensively as we suggested. In fact, from what we can tell, Far Cry mainly uses 1.1 shaders to achieve the jaw-dropping visuals we discussed in the intro.
In laymen’s terms, this means that NVIDIA’s three-year old GeForce3 GPU is capable of reproducing most of Far Cry’s brilliant eye candy, although at a significantly reduced frame rate.
Don’t believe us? Let’s take a look at one of Far Cry’s best features, its water:
![3D Performance with Far Cry - Part 2 NVIDIA [ GeForce4 Ti 4600 @ 800 x 600 ] > View Full-Size in another window.](images/01-s.jpg) GeForce4 Ti 4600
|
|
![3D Performance with Far Cry - Part 2 NVIDIA [ Another GeForce4 water shot @ 800 x 600 ] > View Full-Size in another window.](images/02-s.jpg) Another GeForce4 water shot
|
|
![3D Performance with Far Cry - Part 2 NVIDIA [ GeForce FX 5950 Ultra @ 800 x 600 ] > View Full-Size in another window.](images/03-s.jpg) GeForce FX 5950 Ultra
|
|
![3D Performance with Far Cry - Part 2 NVIDIA [ GeForce FX 5950 Ultra water shot 2 @ 800 x 600 ] > View Full-Size in another window.](images/04-s.jpg) GeForce FX 5950 Ultra water shot 2
|
|
![3D Performance with Far Cry - Part 2 NVIDIA [ ATI RADEON 9800 PRO @ 800 x 600 ] > View Full-Size in another window.](images/05-s.jpg) ATI RADEON 9800 PRO
|
|
![3D Performance with Far Cry - Part 2 NVIDIA [ RADEON 9800 PRO from second angle @ 800 x 600 ] > View Full-Size in another window.](images/06-s.jpg) RADEON 9800 PRO from second angle
|
|
All three cards were running in very high quality water mode. It turns out that Far Cry uses 1.1 shaders for rendering water, even in ultra high quality mode, which renders even more reflections on the water than the other modes:
![3D Performance with Far Cry - Part 2 NVIDIA [ GeForce4 Ti 4600 ultra high quality water @ 800 x 600 ] > View Full-Size in another window.](images/07-s.jpg) GeForce4 Ti 4600 ultra high quality water
|
|
![3D Performance with Far Cry - Part 2 NVIDIA [ Second angle of GeForce4 in ultra mode @ 800 x 600 ] > View Full-Size in another window.](images/08-s.jpg) Second angle of GeForce4 in ultra mode
|
|
![3D Performance with Far Cry - Part 2 NVIDIA [ GeForce FX 5950 Ultra ultra high quality @ 800 x 600 ] > View Full-Size in another window.](images/09-s.jpg) GeForce FX 5950 Ultra ultra high quality
|
|
![3D Performance with Far Cry - Part 2 NVIDIA [ 5950 Ultra second angle @ 800 x 600 ] > View Full-Size in another window.](images/10-s.jpg) 5950 Ultra second angle
|
|
![3D Performance with Far Cry - Part 2 NVIDIA [ RADEON 9800 PRO ultra high quality water @ 800 x 600 ] > View Full-Size in another window.](images/11-s.jpg) RADEON 9800 PRO ultra high quality water
|
|
![3D Performance with Far Cry - Part 2 NVIDIA [ RADEON 9800 PRO ultra water @ 800 x 600 ] > View Full-Size in another window.](images/12-s.jpg) RADEON 9800 PRO ultra water
|
|
We confirmed the use of 1.1 shaders for water on both ATI and NVIDIA hardware, regardless of the generation of the graphics card. We also noted a bug on NVIDIA cards in ultra high quality mode involving the reflection of objects on the water:
![3D Performance with Far Cry - Part 2 NVIDIA [ Note the huge reflection on GeForce4 @ 800 x 600 ] > View Full-Size in another window.](images/13-s.jpg) Note the huge reflection on GeForce4
|
|
![3D Performance with Far Cry - Part 2 NVIDIA [ Large reflection on GeForce FX 5950 also @ 800 x 600 ] > View Full-Size in another window.](images/14-s.jpg) Large reflection on GeForce FX 5950 also
|
|
![3D Performance with Far Cry - Part 2 NVIDIA [ ATI RADEON 9800 PRO, note the difference in the size of the reflection @ 800 x 600 ] > View Full-Size in another window.](images/15-s.jpg) ATI RADEON 9800 PRO, note the difference in the size of the reflection
|
|
This bug was present on GeForce4 and GeForce FX with ForceWare 56.72, as well as NVIDIA’s upcoming GeForce 6800 Ultra with ForceWare 60.72.
Recently there’s been some controversy surrounding a set of screenshots NVIDIA sent to the press involving shader model 3.0 and Far Cry. In the screenshots, NVIDIA provides a comparison of 1.1 shaders to 3.0 shaders. According to NVIDIA: “The following before-and-after images are from the CryEngine. Developer Crytek uses Shader Model 3.0 techniques (vs. 1.x shaders) to add more depth and realism to the scenes. Notice the more realistic look and feel when SM 3.0 is applied to the bricks and stones that make up the staircase. In the scene featuring the Buddha, the full image comes to life with the use of SM 3.0, with the technique applied to multiple objects.” (
Editor’s Note: The preceding quote came directly from NVIDIA’s email to members of the press which accompanied the screenshots) :
![3D Performance with Far Cry - Part 2 NVIDIA [ Far Cry PS 1.1 @ 1280 x 1024 ] > View Full-Size in another window.](images/16-s.png) Far Cry PS 1.1
|
|
![3D Performance with Far Cry - Part 2 NVIDIA [ Far Cry PS 3.0 @ 1024 x 819 ] > View Full-Size in another window.](images/17-s.png) Far Cry PS 3.0
|
|
![3D Performance with Far Cry - Part 2 NVIDIA [ Far Cry PS 1.1 @ 1280 x 1024 ] > View Full-Size in another window.](images/18-s.png) Far Cry PS 1.1
|
|
![3D Performance with Far Cry - Part 2 NVIDIA [ Far Cry PS 3.0 @ 1280 x 1024 ] > View Full-Size in another window.](images/19-s.png) Far Cry PS 3.0
|
|
Clearly you can see that the water in NVIDIA’s screenshots doesn’t match the output we’ve just shown you using 1.1 shaders and NVIDIA’s GeForce4 GPU. In fact, they resemble Far Cry’s low quality water mode more than anything else (which also happens to use 1.1 shaders). As we discussed at length in our GeForce 6800 Ultra article, the main additions of shader model 3.0 are more instructions and dynamic looping/branching, which is designed to make life easier for content developers and can handle certain operations more efficiently than shader model 2.0 (we mentioned some examples in the preview article). In some cases this looping/branching can also bring improved performance, but can also hinder performance if coded improperly.
The other main highlights of shader model 3.0 have been present in ATI’s DX9 hardware for some time now, with the exception of FP32 support.
So what does Far Cry use 2.0 shaders for? Apparently just lighting, everything else is handled by 1.1 shaders.
With this in mind, we’ve rounded up one dozen GeForce cards, ranging from the GeForce4 Ti 4200 to the GeForce 6800 Ultra. We’ve also run numbers comparing the performance of Far Cry 1.0 with Far Cry 1.1, which contains performance optimizations for GeForce FX cards.
![3D Performance with Far Cry - Part 2 NVIDIA [ 5950 Ultra AF disabled @ 800 x 600 ] > View Full-Size in another window.](images/20-s.jpg) 5950 Ultra AF disabled
|
|
![3D Performance with Far Cry - Part 2 NVIDIA [ 5950 Ultra 4xAF @ 800 x 600 ] > View Full-Size in another window.](images/21-s.jpg) 5950 Ultra 4xAF
|
|
![3D Performance with Far Cry - Part 2 NVIDIA [ 5950 Ultra 8xAF @ 800 x 600 ] > View Full-Size in another window.](images/22-s.jpg) 5950 Ultra 8xAF
|
|