x
... loading movie ...
December 7th, 2011
By Andrew Burnes
In 2009 the independent Finnish developer, Frozenbyte, released Trine, a fantasy, side-scrolling, platforming-and-puzzling, action-adventure game. Featuring gorgeous graphics, a sense a humor, and an excellent three-player cooperative mode, Trine went on to sell over 1.1 million copies. Today, Frozenbyte has released Trine 2 on Steam following a successful beta test for pre-order customers.
This highly anticipated sequel includes three-player online co-op that will allow PC gamers to play with console, Linux and Mac gamers when their respective versions are released, varied level designs, and numerous puzzles and gameplay mechanics, addressing the three most common complaints levied against the original game.
For the sequel, Frozenbyte has taken Trine’s much-lauded, stylized graphics to an entirely new level; a level that will give even the best systems a workout when using the highest possible settings and the game's flawless stereoscopic 3D Vision effects.
In this article we'll examine, compare and contrast the various graphics options available to Trine 2 players, and the impact they make on performance and image quality, starting with the game's detail level presets.
Before Trine 2 launches, users are presented with a configuration panel, and on that panel there two options of note: ‘Anti-Aliasing’ and ‘Graphics Detail Level.’
By switching between the five available 'Graphics Detail Level' presets, ten effects, enhancements and performance-saving techniques are lost, gained and modified:
Detail Level Preset | Very High | High | Medium | Low | Very Low |
---|---|---|---|---|---|
Shader Quality | Very High | High | Medium | Low | Very Low |
Specular Texture Mipmap Quality Reduction | Disabled | Disabled | Disabled | Enabled | Enabled |
Normal Texture Mipmap Quality Reduction | Disabled | Disabled | Disabled | Enabled | Enabled |
Color Texture Mipmap Quality Reduction | Disabled | Disabled | Disabled | Disabled | Enabled |
Rendering Resolution Reduction | Disabled | Disabled | Disabled | Enabled (1x) | Enabled (2x) |
Half Resolution Textures | Disabled | Disabled | Enabled | Enabled | Enabled |
Distortion Effects | Enabled | Enabled | Enabled | Disabled | Disabled |
Light Glow | Enabled | Enabled | Enabled | Enabled | Disabled |
Flora Sway | Enabled | Enabled | Enabled | Enabled | Disabled |
Anisotropic Filtering | 16x | 8x | 4x | 2x | 1x |
Below, each setting is briefly explained to help you understand their in-game effect:
As shown in the animated comparison, the major shifts in quality occur when moving from High to Medium and Low to Very Low. Between Very High and High the Shader Quality change is noticeable in the detail of the rock’s reflection in the water; between High and Medium the quality of the lighting drops noticeably; between Medium and Low the water’s foam changes dramatically, specular textures are lost, and the quality of the scene’s lighting is lowered once more; and between Low and Very Low the sun’s glow is entirely removed and every single setting reduced to its lowest possible level.
The level of performance gained and lost between the five settings is slight on the most recent graphics cards in our experience. The real performance impact comes from Anti-Aliasing, which we will now examine.
Unlike the eye-catching changes between the five Graphics Detail Level presets, the effects of Anti-Aliasing are far harder to detect, but no less important. If you’re unfamiliar with the term, Anti-Aliasing is a method for smoothing out a game’s graphics, and in Trine 2 there are two techniques on offer: Fast Approximate Anti-Aliasing (FXAA), and Supersampling Anti-Aliasing (SSAA).
FXAA is a NVIDIA-developed post-processing technique that selectively blurs a game’s graphics to tackle unsightly jagged edges and high-contrast pixel deviation. Gaining popularity amongst developers due to its low performance impact and its ability to anti-alias transparent textures and details, FXAA is highly recommended for low-end and mid-range systems.
Some gamers, however, prefer to maximize the sharpness of a scene, and therefore dislike the blur effect that the technique applies, which by design reduces the sharpness of a game’s graphics to tackle the aforementioned aliasing. To disable FXAA's use in Trine 2 open %APPDATA%/Trine2/options.txt and change setOption(renderingModule, "PostProcessAntiAliasing", true) to setOption(renderingModule, "PostProcessAntiAliasing", false).
SSAA, on the other hand, is a high-impact, high-quality technique, able to improve image quality and sharpness, and rectify sub-pixel errors by rendering extra detail per pixel of screen data and then downscaling the image back to the user’s chosen resolution. Typically, the less-demanding Multisample Anti-Aliasing (MSAA) would be the counterpart to FXAA, but according to Frozenbyte MSAA is unsuitable for use in Trine 2 due to the game’s rendering method.
As you may have noticed in the launcher image, the Very High Anti-Aliasing option applies both FXAA and SSAA techniques simultaneously to maximize image quality. Be warned, this is extremely demanding and therefore only suitable for the best GPUs. For example, at 1920x1080:
Breaking that down, to play Trine 2 using 4xSSAA with a playable frame rate requires your GPU to literally render the entire scene twice per frame, thirty times per second at minimum, and then apply the FXAA post-process anti-aliasing effect to the result. Unsurprisingly, this requires a tremendous amount of processing power, as we’ll reveal later.
If your system is suitably equipped you can apply even more SSAA by opening %APPDATA%/Trine2/options.txt and editing the AntiAliasSamples value, the max possible setting being 16. Higher values will reduce performance further and increase VRAM usage significantly (16xSSAA renders Trine 2 at 7680x4320, four times the original resolution).
As you can see, the difference between FXAA Enabled and Disabled when 4xSSAA is also enabled is negligible in static screenshots, and in-game we found it to be imperceptible. Resorting to pixel analysis, the most noticeable difference can be seen in the first image along the ropes and poles that the birds are sat upon, as this 700% zoomed interactive comparison shows:
Below, we compare Anti-Aliasing Off and FXAA Anti-Aliasing:
And now, Anti-Aliasing Off and 4xSSAA:
As we couldn’t adequately expose SSAA’s ability to dramatically increase scene detail in the previous example we cooked up a special test scenario using the lowest possible setting for every Trine 2 option, bar Light Glow, which we left enabled:
Frozenbyte has stated that Trine 2 is entirely GPU limited, meaning your CPU will have little impact on your performance beyond allowing your graphics card to reach its maximum potential. The minimum required graphics card for the game, a GeForce 7600, is significantly slower than the most popular card on Steam’s Hardware Survey, the 8800/9800, and as such we expect Medium to High settings to produce playable results on the venerable GPU when Anti-Aliasing is disabled.
With a single GeForce GTX 580 we hit the game’s 100 frames per second cap with three characters on-screen using the Very High Detail Level and FXAA Anti-Aliasing. With 4xSSAA and FXAA enabled that figure plunged to between 55 and 60 frames per second, and with just 4xSSAA enabled we recorded frame rates between 60 and 65, revealing the performance impact of FXAA at 1920x1080 to be 10 frames per second. To hit a solid 60 frames per second with both anti-aliasing techniques enabled required a 12% GPU overclock, well within the GTX 580’s limits.
With performance to spare we increased the level of SSAA to determine the Optimal Playable Settings of the stock-clocked GTX 580, but quickly discovered that we could only go as high as 6xSSAA on our 1.5GB card, recording a frame rate of around 35 frames per second (VRAM usage hit 1350MB). In conjunction with our Trine 2 SLI profile, available now through NVIDA Update, 3GB GTX 580s will likely achieve a playable frame rate at 12xSSAA at 1920x1080, though the push to 16xSSAA would surely require the use of a far lower resolution. Given these findings, we set our own test machine to 5xSSAA with FXAA enabled to ensure that the frame rate never dipped below 30 in the game’s most demanding scenes.
Throughout our testing we noticed that our GPU utilization remained at 100%, even when our frame rate was hitting the 100 frames per second limiter. Frozenbyte state that this is by design in an attempt to squeeze every last drop of performance from a system’s graphics card. If this is a problem for you, the solution according to Frozenbyte is to limit the game’s frame rate to 60 by enabling VSync in the launcher, or by modifying the game’s Input Lag Reduction value in the manual configuration file referenced earlier. Note that the VSync option also enables Triple Buffering to counteract input lag, and by modifying the Input Lag value in the config file the benefits of Triple Buffering are nullified.
With VSync enabled, each time you press a key or move the mouse there is a small delay between you initiating the action and the result showing on screen. This is known as Input Lag. By default, Direct3D buffers three frames of input data, which can cause a noticeable delay between actions, most readily seen as a ‘lagging’ mouse cursor. In Trine 2, Frozenbyte has changed the default value to two frames, allowing a system’s GPU to be better utilized without introducing noticeable input lag.
To reduce lag and the maximum possible frame rate even further, thereby limiting GPU usage, temperatures and noise output, open %APPDATA%/Trine2/options.txt and change setOption(renderingModule, "ReduceInputLag", false) to setOption(renderingModule, "ReduceInputLag", true). This is especially useful on low-end systems where input lag will be most noticeable. However, this setting should not be used in conjunction with VSync, nor should it be enabled on multi-GPU systems. For high-end gamers who dislike screen-tearing we suggest VSync, and for low-end gamers the Input Lag Reduction manual tweak (Frozenbyte have suggest that this tweak will be exposed in-game by way of an update at some point in the future).
Out of the box, the stunningly beautiful Trine 2 includes fantastic stereoscopic 3D Vision support that our 3D Vision developers have labeled ‘3D Vision Ready,’ meaning you receive an excellent NVIDIA-approved experience.
From the moment you load the interactive main menu, scene elements appear from the foreground and background in their own layers, and once you enter the game proper the effects and layered details pop and whizz around, meaningfully enhancing the game’s already stunning graphics.
At present, the only 3D Vision shortcut supported in-game is the Ctrl+T 3D Vision On-Off toggle, but if you hit Escape you can get into the in-game Visual Settings menu with two quick clicks, where Separation, Convergence and UI Depth can be adjusted to your liking.
Trine 2 renders separate scenes for each eye, meaning stereoscopic 3D rendering will double the graphics processing requirements, therefore halving your frame rate. On the same GTX 580 system we were forced to reduce SSAA to 3x to maintain a playable frame rate, a small sacrifice worth making to massively improve immersion and the overall experience.
Our time with Trine 2 has been extremely enjoyable - there’s a mass of replayability to be had in hunting secrets and trying the different characters, the gameplay is great, the online co-op is flawless, the graphics are beautiful, its FXAA implementation peerless, the stereoscopic 3D Vision effects breathtaking, and the game in general fantastic.
At only $15 Trine 2 won’t break the bank, and it’ll take longer to ‘complete’ than many of today’s $60, bombastic single-player games. In other words, buy now, especially if you have like-minded friends ready and willing to play the often-hilarious co-op, either locally or online.