[ Print Article! ]

3D Performance with FarCry: Part 3 Shader Model 3.0
July 02, 2004

Summary: Ever since NVIDIA first announced the GeForce 6800 series, the gaming world has been waiting for an application to take advantage of its Shader Model 3.0 (SM 3.0) capabilities. Now that first title has appeared: Far Cry. See how the NVIDIA cards look and perform with the addition of SM 3.0 in this article!
UPDATE:GeForce FX 5950 Ultra/5900XT & GeForce 6800 benchmarks have been added as well as RADEON 9700 PRO/9800 XT, now 13 cards total. It all starts right here!


IntroductionPage:: ( 1 / 18 )


We highlighted all of this in Part 2 of our 3D Performance with Far Cry series of articles. In that piece, we discovered that Far Cry uses 1.x shaders for practically everything, including the game’s beautiful water. 2.0 shaders were only used for lighting on both ATI and NVIDIA hardware. In fact, we even provided GeForce4 screenshots as evidence of this. Therefore, when NVIDIA contacted us last week with news of a Far Cry patch with SM 3.0 support, we were a little skeptical if the parties involved could actually deliver. It turns out that’s exactly what they’ve done however!

Let’s clear up a few things 2

First things first however, Crytek’s Far Cry 1.2 patch doesn’t impact image quality, at least not yet. Far Cry 1.2 looks just like Far Cry 1.1, only a few of the bugs with NVIDIA cards have been resolved. Unfortunately, in the process, a new bug has cropped up for ATI’s RADEON X800 concerning texture quality. At times on uneven surfaces the level of detail on textures will be rendered incorrectly. We’ve provided the following screenshot to illustrate the problem:

[image]

<% print_image("01"); %><% print_image("02"); %>

Fortunately, the error would only occur at very high resolutions, so a quick remedy would be to turn down the screen resolution.

Despite this, Far Cry will be getting an image quality boost in an upcoming patch. A few weeks ago, the first batch of Far Cry screenshots with high dynamic range lighting were posted on the Internet. Rumor has it that this feature will be unique to NVIDIA’s GeForce 6 series however.

So if image quality is unchanged, what modifications has Crytek made to Far Cry in their latest patch? Performance has been improved!

Crytek has implemented pixel shader 3.0 and vertex shader 3.0 improvements into Far Cry 1.2. On the vertex side, geometry instancing has been implemented for rendering grass and other foliage. With instancing, data is replicated from within the vertex buffer to create many examples of the same type of object. This is perfect for an application such as replicating multiple strands of grass to encompass a jungle. In future patches we’ve been told that Crytek will implement even more examples of instancing for even better performance improvements.

The second addition Crytek has made involves lighting. Crytek has used PS 3.0’s increased number of interpolated registers (8 in PS 2.0a and PS2.0b versus 10 in PS 3.0) to collapse multiple lights into one pass. We were told that instead of an individual pass per light with PS 2.0, up to three or four lights can be combined into one pass using PS 3.0. This should bring performance improvements in scenes with multiple light sources.

So what do you need if you’re a GeForce 6800 user and you want to get SM 3.0 up and running in Far Cry? First, you’ll need the 1.2 patch. We’ve been told that Ubisoft will be releasing it on July 5th, next Monday. Next, you’ll need a copy of DX9.0c. Currently, the only way to obtain DX9.0c is to download Microsoft’s Service Pack 2 release candidate. Finally, you’ll need an NVIDIA display driver with SM 3.0 support. NVIDIA provided us with a copy of ForceWare 61.45 for our testing.

With all of this in hand, plus four new demos that come with the new 1.2 patch, we were eager to test out the improvements, but first let’s get started with our own custom demo, which is based on the map mp_monkeybay (which happens to have its fair share of grass in it).


Test conditionsPage:: ( 2 / 18 )

System Setup


AMD Athlon 64 3800+

ASUS A8V Deluxe

1GB Corsair XMS3200 DDR SDRAM

ATI RADEON X800 XT Platinum Edition
ATI RAEON X800 PRO
Driver version CATALYST 4.6

NVIDIA GeForce 6800 Ultra
NVIDIA GeForce 6800 GT
Driver version Forceware 61.45

250GB Maxtor Hard Drive Maxline III SATA Hard Drive w/16MB Cache

Windows XP Professional SP2

DirectX 9.0c

Benchmarks

Far Cry 1.2 (custom and standard demos)



Far Cry MonkeybayPage:: ( 3 / 18 )

Far Cry – Direct3D











Monkeybay 4xAAPage:: ( 4 / 18 )

Far Cry – Direct3D











Monkeybay 4xAA/8xAFPage:: ( 5 / 18 )

Far Cry – Direct3D











Training demoPage:: ( 6 / 18 )

Far Cry – Direct3D










Training demo 4xAAPage:: ( 7 / 18 )

Far Cry – Direct3D










Training demo 4xAA/8xAFPage:: ( 8 / 18 )

Far Cry – Direct3D










Research demoPage:: ( 9 / 18 )

Far Cry – Direct3D










Research demo 4xAAPage:: ( 10 / 18 )

Far Cry – Direct3D










Research demo 4xAA/8xAFPage:: ( 11 / 18 )

Far Cry – Direct3D









Regulator demoPage:: ( 12 / 18 )

Far Cry – Direct3D










Regulator demo 4xAAPage:: ( 13 / 18 )

Far Cry – Direct3D










Regulator demo 4xAA/8xAFPage:: ( 14 / 18 )

Far Cry – Direct3D










Volcano demoPage:: ( 15 / 18 )

Far Cry – Direct3D









Volcano demo 4xAAPage:: ( 16 / 18 )

Far Cry – Direct3D










Volcano demo 4xAA/8xAFPage:: ( 17 / 18 )

Far Cry – Direct3D









ConclusionPage:: ( 18 / 18 )


In outdoor areas such as our custom Monkey Bay demo and the “Training” and “Regulator” levels present in Far Cry 1.2, the performance benefits are more limited. At best the performance increase is about five percent, roughly the boost you may get from a driver update. This still isn’t bad, but it isn’t a dramatic difference, we wouldn’t be surprised if some users hardly noticed it.

Fortunately we’ve been told that Crytek plans to improve on their instancing gains and implement it in more areas with further updates to Far Cry. In other words, it’s a bit early to come to any final conclusions, but the performance improvement, even if limited, is still free, and we all love getting free performance.

All one needs to do to get all of this is download and install the 1.2 patch as well as DX9.0c and an SM3.0-capable driver.

The latter step is the part we’re a little disappointed about. As of today, NVIDIA’s latest driver is ForceWare 56.72, a driver that is three months old and doesn’t support NVIDIA’s latest cards. The retail GeForce 6800 boards we’ve received from NVIDIA’s board partners so far have all been based on the 60.xx driver set, which may or may not contain all the SM 3.0 optimizations found in 61.45. This was fine when GeForce 6800 boards were hard to find, but with e-tailers now stocking GeForce 6800, 6800 Ultra and even 6800 GT boards, NVIDIA needs to release a newer driver for public consumption.

In any case, Crytek deserves to be commended for integrating shader model 3.0 support so quickly into Far Cry. DX9.0c hasn’t been officially released, yet we already have an SM3.0-capable title to play with. GeForce 6800 owners should be happy with their purchase, and as good as it gets today, it will only get better in the coming months – we can’t wait to see the improvements SM 3.0 will bring to upcoming titles such as Splinter Cell X and S.T.A.L.K.E.R: Shadows of Chernobyl, two titles which will also take advantage of SM 3.0. Based on today’s results with Far Cry, things look very promising for any SM 3.0 capable software and hardware!


© Copyright 2003 FS Media, Inc.
[ Print Article! | Close Window ]