13-Dec-12 // The performance and technology of Far Cry® 3
The performance and technology of Far Cry® 3
After four long years, the Far Cry® franchise is finally back and more beautiful than ever. This installment strands you on a lush tropical island with a host of local—and equally stranded—crazies, most with a knack for killing people dead. The game invites you to “face your insanity” as you trek through the lush jungles of your earthly prison, moving ever-deeper into the dark secret that lies at the center of it all. But because this is a Gaming Evolved blog, I’m going to ask you to stop and admire the wilderness while you dodge bullets, block knives, run from flamethrowers, duel rhinos and the like. Think you can do that? Great. Let’s get started!AMD Eyefinity technologyLike any Gaming Evolved title, we’ve collaborated with Ubisoft to make sure this game jumps onto your hard drive with support for multi-monitor goodness with AMD Eyefinity technology. Supported modes include 3×1 landscape, 3×1 portrait and 5×1 portrait.1
AMD CrossFire™ technology
We’ve previously mentioned that a dual-GPU system with AMD CrossFire™ technology can be a great financial value, but enthusiasts know that its true value lies in performance! Far Cry 3 has been extensively optimized for multi-GPU scaling, with performance that’s up twice as fast as a single GPU.2,3
If you haven’t thought about a multi-GPU configuration before, Far Cry 3 is a good time to start. Representing the very bleeding edge of PC graphics, this game’s maximum settings demand more than any one GPU can adequately provide. Many enthusiasts, long accustomed to turning every IQ dial to 11 without batting a lash, may be in for a surprise—and possibly an expensive checkout at their favorite online retailer.
But none of that is a bad thing, as demanding titles like this are part of the symbiotic relationship that drives games and graphics forward for all of us. Games like Far Cry 3 are demonstrative of the innovation and leadership in PC gaming, and a reminder that we should never stop (dare I say… never settle) for the status quo.
Click on the images to go to the product page of the specific bundle. Learn more about Club 3D's Crossfire Bundles here
Deferred rendering with multi-sample anti-aliasing (MSAA)
Many modern games use what’s called a “deferred rendering” engine, which defers the game’s application of lighting to a second pass of the renderer. This has the advantage of dramatically increasing the amount of lights that can be used in a scene, but it makes high-quality multi-sample anti-aliasing (MSAA) quite difficult to implement, as it cannot perform AA on the lighting. You might imagine how well this works on an engine noted for its use of lighting!The deferred engine rose to prominence as a way to make the most of the fixed hardware resources in a modern game console. Generally forfeiting MSAA, and a comparatively limited diversity in game textures, were evidently deemed acceptable casualties in the push for more realistic lighting. Rather than work to implement the visually superior MSAA filter, most developers have come to rely on post-processed AA filters (like FXAA) as a way to get “good enough” anti-aliasing at appreciably high framerates. There’s nothing inherently wrong with this approach on a console, but today’s PCs are capable of much more.Thankfully, Ubisoft and AMD worked very closely to implement MSAA into Far Cry 3’s deferred engine. This approach required a careful analysis of each scene/level in the game, selectively enabling MSAA on sections of the scene (like trees and lighting) that would benefit from the technique, while avoiding MSAA on sections that would slow the game with no visual improvement.Despite the technical challenges, MSAA is further supported in Far Cry 3 by virtue of a comprehensive light-culling system. This mechanism performs intelligent, real-time calculation of the lighting that would be visible to the player, then lets the GPU reject the material that won’t be seen. Not only is the MSAA faster than it would otherwise be (when enabled), but general framerates are improved versus engines without this technology.
Transparency super-sample anti-aliasing (SSTr)
While methods like MSAA are very effective in reducing jagged edges on 3D objects, they do little to nothing for 2D textures, which often include: chain link fences, leaves, grass and so on. These objects are often rendered in two dimensions because it is computationally very fast to render them with high visual fidelity.More to the point, they are considered “transparent textures” because the source image they’re rendered from have what’s called an “alpha channel,” which invisibly indicates to the game what areas of the texture should be seen and unseen by the player. SSTr tests these transparent textures for the “seen” and “unseen” bits of the alpha channel, and then evaluates what components of the texture should receive anti-aliasing. That evaluation is shared with the MSAA buffer, which does a final AA pass on the scene before the GPU pops it on the monitor.This technology is important in games like Far Cry 3 (with its hojillion palm tree fronds) because it avoids a nasty visual artifact called “dithering,” which occurs when transparent textures overlap without protection from a method like SSTr. Without the evaluation SSTr creates, the game is considerably less precise at determining where the edge of a transparent object actually ends, and that could lead to something like a leaf having a much larger footprint than it ought to when the game decides what should be hidden behind it from the player’s POV.Below, you can see how much smoother the edges of these transparent textures are as a result of SSTr.
Real-time global illumination
Global illumination, or GI, is a relative newcomer in the world of DirectX® 11 graphics. GI is designed to simulate the way rays of light reflect, not just off of the first object they strike, but each successive object struck by that reflected ray. For example, reflecting the sun from a mirror onto a car’s shiny door will cause a second, but less intense reflection, and that reality should be demonstrated in games.In Far Cry 3, the engine pre-computes “probes” that contain the lighting information for all the light sources in the scene: torches, flashlights, stars, the sun and so on. These probes can dynamically re-light the scene with the slightest change of the objects contained therein. When the scene changes, new irradiance values are calculated and stored in the GPU’s buffers to contribute to the final scene–hundreds of times per frame, per second!Fun fact #1: Far Cry 3 includes a complete day/night cycle based on the
CIE Sky Model, and the objects in the night sky are used to compute the overall lighting of the scene.Fun fact #2: Reflections are calculated using an advanced BRDF model, including a theory called “micro-facets”, which assumes that the surface of every object has dozens of tiny reflective edges that generally reflect light in a certain style and direction. The behavior varies by material.
DirectCompute-accelerated ambient occlusion
When objects are located near to each other, they cast a mutual shadow that reduces the amount of light that may reach the surface of an object. From this perspective, ambient occlusion (AO) is a very literal name: it describes objects blocking, or “occluding,” ambient light.But there are many ways to “skin a cat”, as they say, and Far Cry 3 offers three different ways to perform ambient occlusion: horizon-based ambient occlusion (HBAO), screen space ambient occlusion (SSAO), and my personal favorite, high definition ambient occlusion (HDAO).In the case of HDAO, Far Cry 3 uses a new-and-improved version of the technique, which uses all of the visual information from the player’s camera to detect pits and valleys in the scene that should be shaded darker. Light attenuation is dynamically based on the angle of that pit or valley. This effect can be calculated at full resolution, or at half resolution, depending on the hardware resources available. Should a half-resolution ambient occlusion call occur, a DirectCompute-accelerated “bilateral dilate and blur” filter is applied to elegantly upsize the occlusion map to fit the gamer’s chosen resolution and the objects of the scene.There will undoubtedly be debate on which method is “best,” but HDAO is far and away the most efficient experience for AMD Radeon™ GPU owners, not to mention Ubisoft’s method of choice for high-end systems.
Advanced hair and skin shading
In the real world, light is not truly blocked by the skin of a person. Instead, the light penetrates the first few millimetres of the skin and defuses through its many layers. In 3D rendering, we can simulate that with a technique called “sub-surface scattering,” a mathematical model that attempts to express how light scatters through our skin. Far Cry 3 uses sub-surface scattering to impart a life-like quality to the flesh of its characters.Far Cry 3’s complex organic object shading also applies to hair, which is considered an “anisotropic surface.” Anisotropic surfaces are characterized by a grained or grooved pattern that is difficult to light properly in game engines. This is primarily because, in the case of hair, the strands are quite randomized in their direction, meaning there is no uniform pattern to follow for efficient projection and reflection of light onto and from the surface. With an anisotropic lighting model, however, that chaos becomes the model for the lighting, and Far Cry 3 follows suit by calculating and rendering this entropic interaction with a variety of filters.
Fun fact #3: This technique will look especially good on Graphics Core Next-based products, as we specifically optimized the architecture to feature a new, higher-quality anisotropic filter that is automatically enabled in all instances of anisotropy.
As you can see, Ubisoft and AMD’s Gaming Evolved program collaborated extensively throughout Far Cry 3’s development to ensure that this game’s graphics are a state-of-the-art showcase for PC graphics. But the collaboration did not stop at quality, as we also wanted to ensure that all of this goodness runs like a champ on AMD Radeon™ graphics.3,4First, let’s take a look at ultra high-end gaming: 2560×1600, 2xMSAA, 16x anisotropic filtering, HDAO, enhanced SSTr and “ultra” quality. With this configuration, the AMD Radeon™ HD 7000 Series (tested below) proves itself to be a superior choice for gamers looking to get the most from Far Cry 3 at virtually any price point. Moving down to the more common 1080p resolution, AMD Radeon™ Graphics continues to bring home the bacon. Again with 2xMSAA, 16x anisotropic filtering, HDAO, enhanced SSTr and “ultra” quality, it’s clear that gamers looking for the best Far Cry 3 experience would be wise to choose an AMD Radeon™ graphics card.
Far Cry 3 is available now on Steam and Ubisoft’s Ubishop . And while supplies last, you could get the game for FREE when you buy the Club 3D Radeon™ HD 7770 GHz Edition, HD 7800 Series, or HD 7900 Series (sidenote: AMD just improved Far Cry 3 performance for all these products with12.11 Beta 11 + CAP2). Interested? Learn more at our Best Games promotion page, and good luck surviving the island of insanity!
4 Game Setting: Ultra quality, 2xMSAA, HDAO, Enhanced SSTr, 16xAF
Robert Hallock is a Product Marketing Manager at AMD. His postings are his own opinions and may not represent AMD’s positions, strategies or opinions. Links to third party sites, and references to third party trademarks, are provided for convenience and illustrative purposes only. Unless explicitly stated, AMD is not responsible for the contents of such links and no third party endorsement of AMD or any of its products is implied.