Instancing (cont’d)
Instancing support
One interesting factoid related to geometry instancing is that support isn’t just limited to the X-Series graphics cards and shader model 3.0. ATI’s entire DX9 lineup ranging from the RADEON 9500 all the way up to the 9800 family, as well as the X800, X600, and X300 all support it, and you don’t even need DX9.0c! This means that those of you with older DX9 RADEON cards can also take advantage of it.
To turn it on, simply type “\\r_geominstancing 1” at the console. (Keep in mind that ATI’s current driver set, CATALYST 4.7, doesn’t support instancing, but it’s coming in CATALYST 4.8. You’ll also need to wait for Ubisoft to re-release Far Cry 1.2.) We ran a few quick benches with older ATI DX9 hardware in Far Cry 1.2’s regulator demo to see how much these cards benefit from instancing:

Higher geometry
In theory, thanks to the addition of instancing, you should be able to crank up Far Cry’s detailed vegetation without the performance hit that’s normally associated with it. For example, with Far Cry’s e_vegetation_sprites_distance_ratio setting, you can adjust the amount of geometry on the screen. This console command adjusts the distance at which some of Far Cry’s more distant vegetation switches from simple 2D sprites to using true geometry. Far Cry’s default setting is 1, but increasing the value to 100 disables the use of sprites. Here’s ATI’s example, taken from the pier level:
![3D Performance with FarCry: Part 4 ATI Strikes Back [ ATI vegetation comparison @ 678 x 337 ] > View Full-Size in another window.](images/01-s.jpg) ATI vegetation comparison
|
|
And now a batch of screenshots we took in pier, taken on a X800 PRO. In the first image, e_vegetation_sprites_distance_ratio is set to “1”, while the second it’s at “100”. As you can see, the differences are substantial. Vegetation in the forest is much thicker with sprites disabled. It might help if you download both screenshots and scroll back and forth between the two:
![3D Performance with FarCry: Part 4 ATI Strikes Back [ Vegetation rendered with 2D sprites @ 1024 x 768 ] > View Full-Size in another window.](images/02-s.jpg) Vegetation rendered with 2D sprites
|
|
![3D Performance with FarCry: Part 4 ATI Strikes Back [ Now using geometry @ 1024 x 768 ] > View Full-Size in another window.](images/03-s.jpg) Now using geometry
|
|
![3D Performance with FarCry: Part 4 ATI Strikes Back [ Note the differences @ 1024 x 768 ] > View Full-Size in another window.](images/04-s.jpg) Note the differences
|
|

sprites distance 100 on right
We also ran some benchmarks with both ATI and NVIDIA cards on page four.
Image quality
With the additions of PS2.0b and shader model 3.0 to Far Cry 1.2, CryTek could have potentially cranked up the number of light sources in indoor areas or increased the geometric complexity in outdoors/indoors, but instead CryTek chose to focus on improving performance, not image quality. In the Far Cry 1.2 readme CryTek says: “Our utilization is focused on performance improvements. One can achieve all necessary cinematic effects with SM 2.0 already. SM 2.0b is more convenient, hence more effective to code and offers the possibility to optimize the rendering performance, decrease the number of passes/draw-calls and optimize shaders with its advanced features such as long shaders and geometry instancing.”
While it’s a bit disappointing to see that little has changed visually, CryTek’s position is quite understandable given the amount of time integrating more eye candy features would take. Far Cry has been out on shelves for months now, many other developers would have moved on to their next project by now.
While we’re discussing IQ, we should also note that the same problems with X800 cards we noted in Part 3 of our Far Cry Performance article still existed in last week’s Far Cry 1.2 release. Hopefully CryTek will resolve this when the patch is released again, as it stands now the only alternative is to lower the screen resolution.