Splinter Cell: Chaos Theory

Ubisoft's Tom Clancy's Splinter Cell: Chaos Theory is the latest addition to a line of 3D games that makes full use of the available technology and features of a modern graphics card. The original Splinter Cell used a version of Epic's Unreal engine and this has carried for the new chapter in the series; the major difference though is that Chaos Theory offers a wider range of selectable visual effects and some of these are only accessible when run on hardware that supports SM3.0 - shader model 3.

The official specification of the game engine has the following details:

  • Graphics
    • DX8 Shader Model 1.1 version
      • Shaders architecture with diffuse and specular lighting parameters + environment reflection
      • All lighting components are considering the normal map
      • Specular lighting can be tuned depending on material properties (glossiness and strength)
      • Procedural animated texturing is available on all shader components (diffuse, normal map, specular mask, environment map)
      • Available for transparent materials
      • Real time reflection materials on flat surfaces
      • Complex character lighting with average compensation and translucency
      • Filtered soft shadow maps with bleeding removal
      • High resolution and no compression on character normal maps
    • DX9 Shader Model 3.0 version (includes all SM 1.1 features)
      • Parallax mapping with height map support (virtual displacement mapping)
      • Enhanced filtered soft shadows
      • High dynamic range rendering
      • Tone mapping
      • Advance skin shader for character with subsurface scattering and improved light bleeding
      • High internal precision rendering (remove banding artefacts)

  • Sound
    • EAX 2.0/3.0 filters for dynamic sound propagation and occlusion
    • Volumetric sources
    • 4.0 ambient positioning
  • CPU
    • Multiple thread engine design
      • Should give a significant advantage to CPU manufacturer with multiple simultaneous HW thread execution
    • Very high number of primitives sent to the graphic chips (average of 2000 per frame)
  • Art Assets
    • Up to 50k polygons per scene
    • Up to 500k polygons submitted per frame with shadows and shaders (multiple passes) with Shader Model 1.1 renderer
    • Up to 200k polygons submitted per frame with shadows and shaders (multiple passes) with Shader Model 3.0 renderer
    • Full usage of the shaders available in the engine

Options

As well as the standard settings of resolution, anti-aliasing and anisotropic filtering, Chaos Theory offers the following graphical options:

  • Shader Profile - SM1.1 or SM3
  • Additional Options (Available to graphics with SM3.0 or above only):
    • HDR (high dynamic range) rendering
    • Tone mapping
    • Parallax mapping
    • High quality soft shadows
  • Shadow resolution
  • Specular lighting
  • Hardware shadow mapping

In addition to these, one can also adjust whether trilinear filtering or high resolution textures are used. The following describes what each setting changes and what one can expect to see in-game; the benchmark figures are taken from the following system:

CPU AMD Athlon 64 3800+
Motherboard Abit AX8
Video NVIDIA GeForce 6800 GT
Video Drivers WinXP SP2, ForceWare 71.89 WHQL
OS Windows XP Professional SP2
DirectX Runtime DirectX9.0c
Options High detail textures and shadows, specular lighting and trilinear filtering

Shader Profile

There is perhaps no immediate difference between the two profiles - visually, some of the banding seen with SM1.1 disappears for SM3.0 due to the higher precision used in the shaders. However, the latter also offers better performance and the option to apply additional graphical effects. Functionally the basic Shader Model 1.1 and 3.0 paths render the same output, however, as evidenced from the polygon count reduction in the Art Assets, the SM3.0 path achieves this with a reduced number of passes.



Shader Model 1.1                     Shader Model 3.0



SM1.1 profile 105.9 88.7 68.0 49.6 37.2
SM3.0 profile 112.2 93.5 71.9 52.5 39.3
% Difference 5.9% 5.4% 5.7% 5.8% 5.6%




HDR Rendering

High (or higher) dynamic range rendering involves a greater use of high precision through the rendering pipeline; with this option enabled, FP render targets as well as FP blending and filtering are all required. It is worth noting that on current hardware that supports such features, FSAA cannot be used at the same time as the HDR Rendering option.


SM3.0 - without HDR                     SM3.0 - HDR enabled


SM3.0 no HDR 112.2 93.5 71.9 52.5 39.3
SM3.0 with HDR Rendering 95.8 77.2 58.3 40.7 30.2
% Difference -14.6% -17.4% -18.9% -22.5% -23.2%




Tone Mapping

Although HDR rendering utilises a wide range of colour values, the display unit attached to the graphics card is not capable of reproducing this span. Tone mapping is a method by where colour values are recalculated to account for this problem; the result is that very dark areas offer more detail and regions that heavily lit appear over-exposed.



SM3.0 - HDR enabled                     SM3.0 - HDR with Tone Mapping




SM3.0 HDR only 95.8 77.2 58.3 40.7 30.2
SM3.0 HDR with Tone Mapping 93.9 75.7 57.4 40.1 29.8
% Difference -2.0% -1.9% -1.5% -1.5% -1.3%




Parallax Mapping

This option produces an enhanced effect for surfaces that are replicating rough or irregular surfaces. Parallax mapping makes use of the fact that different points on a surface appear to move relative to each other as the viewer moves from one position to another, ie. a parallax. The samples texture coordinates for each pixel are adjusted on this basis.


SM3.0 - Standard                     SM3.0 - Parallax Mapping


sm30 no parallax mapping 112.2 93.5 71.9 52.5 39.3
sm30 with parallax mapping 107.3 88.7 67.7 49.0 36.5
% Difference -4.4% -5.1% -5.8% -6.7% -7.1%




High Quality Soft Shadows

Enabling this option forces the renderer to filter the edges of the shadow maps, as well as making use of dynamic branching to speed up the process. The images are below are taken using low resolution (512 x 512) shadow maps to show the effect of the filtering.



SM3.0 - No Soft Shadows                     SM3.0 - Soft Shadows enabled



SM3.0 112.2 93.5 71.9 52.5 39.3
SM3.0 with soft shadows 103.4 84.7 64.7 46.6 34.6
% Difference -7.8% -9.4% -10.0% -11.2% -12.0%




All Options

With all options enabled on boards that have Shader 3.0 capabilities the performance differential from just the Sahder 3.0 path is as follows:




SM3.0 112.2 93.5 71.9 52.5 39.3
SM3.0 with all options enabled 81.8 65.0 48.5 33.4 24.8
% Difference -27.1% -30.5% -32.5% -36.4% -36.9%


Benchmarking

Included with the full game is a timedemo, taken from the opening level, and benchmark options - user demo's can be recorded and used in the same fashion as the pre-supplied demo. We have produced a set of batch/benchmark configuration files to simplify this process and allow the end user to quickly edit, adjust and run a sequence of benchmarks. In the compressed download there are three files:

  • SC3_tempate.ini
  • sc3.bat
  • run.bat

They should all be extracted to the main installation folder for Chaos Theory; putting them elsewhere can lead to problems. the SC3_template.ini contains the games basic configurations, as per a defualt installation, minus the configurable options. The "sc3.bat" file is the control file and the options that are desired for each benchmark run are set in here and then the actual game settings .ini file is generated from the SC3_template.ini file with the options from the sc3.bat file concatenated to it at the end.

The two batch files will most likely need to be edited for one's own system configuration; specifically the location of the game installation:

sc3.bat
@set SC3="F:Program FilesUbisoftTom Clancy's Splinter Cell Chaos TheorySYSTEMsplintercell3.exe"

run.bat
@set SC3="F:Program FilesUbisoftTom Clancy's Splinter Cell Chaos TheorySYSTEMsplintercell3.exe"

One adjusts the benchmark settings using the sc3.bat file; there are brief reminders in the text as to what each function does:

REM * Setup map name and name of demo file to run
@set MapName=01_Lighthouse
@set DemoFile=01_lighthouse.dem

REM * Shader Profile: (1 = SM1.1, 3 = SM3.0)
@set shader=1

REM * Addition options for SM3.0 capable boards (0 = Disabled, 1 = Enabled)
@set ParallaxMapping=0
@set HQSoftShadows=0
@set HDR=0
@set ToneMapping=0

REM * For MultiSample FSAA 0 = Disabled, 1 = 2x, 2 = 4x, 3 = 6x
@set af=1
@set aa=0

The following line then calls the run.bat file that executes the game benchmark with the settings required, with the first two parameters after the run.bat being the horizontal and vertical resolution required:

call run.bat 1024 768 %shader% %af% %aa% %ParallaxMapping% %HQSoftShadows% %HDR% %ToneMapping% %MapName% %DemoFile%

Any settings can be freely changed before each call to the run.bat to configure any batch of benchmark tests required. Pay careful attention to the HDR and FSAA settings, as the latter will not work if the former is enabled. Also note that to enable, for example, 4x FSAA one uses a value of aa=2 to do so. Once the settings have been selected as required, simply run the sc3.bat file and wait for the tests to complete; once they have finished the results will be saved in the game's system folder as a .xls file - users without a spreadsheet program can still access the results by renaming the extension to .csv and opening the file using a program such as Notepad.

As a final note of caution, just as with the original Splinter Cell benchmark, one must use the default controls configuration in order for the timedemo to run correctly.

Beyond3D Splinter Cell: Chaos Theory Benchmark Scripts
- Click to Download -

For the purposes of Beyond3D's reviews this title will use the settings as found in "SC3_tempate.ini" file here choosing between the Shader Model 1.1, 3.0 and 3.0 with additional features, dependant on the capabilities of the boards being used in each review.

Nick Evanson - 23-Apr-2005