We eventually realized that volumetric lighting could be the problem, given the tessellation focus, and decided to toggle the setting and conduct some in-game analysis of godrays and light illumination. Learn more about tessellation in this post, if unsure about what this word means.
Our initial benchmark was conducted at night, so there's not nearly as much volumetric lighting going on as during daytimes. The sun, moon, and some ultra-bright light emitters will create godrays and interact voluminously with game elements. Volumetric lighting in Fallout 4 primarily consists of these outputs: Godrays and light shafts, radiation proliferated by reflective materials, and increased apparent depth of shadows.
How to Disable Volumetric Lighting in Fallout 4
We entered these commands into the console to establish a clean test environment:
> set gamehour to 11
> set timescale to 0
This locks our game time and sets the clock to late morning, when the sun interacted with our test environment (Diamond City) the best.
We then used these commands as necessary:
> gr 0 // disable godrays completely
> gr 1 // enable godrays
> gr debug 1 // wireframe godray render for analysis of godray “landing zones”
> gr debug 2 // show only godray illumination, so all objects and actors are lit only by godrays; global illumination and other light sources are offensive
Here's a pair of screenshots of the two debug modes:
The “godrays only” mode is extremely useful in understanding exactly why godrays are volumetric – even when an object isn't directly in the line of a beam, it will still receive light from illumination shed by that beam. Actors in the vicinity of reflective materials will receive some of the light from godrays, too, because volumetric light can bounce and proliferate when interacting with certain surfaces. We talk about this in more depth in our GDC 15 interview with Crytek, who explained physically-based rendering to us.
Tessellation is effectively the process of doubling triangles on graphics hardware for increased apparent detail, allowing more displacement or smoothing of surfaces. Tessellation also creates the appearance of a higher resolution surface and adds small bumps in surfaces, creating higher fidelity and depth. That's a generalization applied to tessellation in 3D objects, though the computations involved to tessellate light beams rely on the same part of the GPU.
With volumetric lighting through nVidia's Fallout 4 implementation, which uses GameWorks, the lighting is fed through tessellation instead of post-processing effects. Tessellated lighting lends itself to cooperation with occlusion, and is exactly why you can see the light pouring over the edges of a surface even when that surface physically blocks the actual light source.
Let's get rid of it.
We tested using our 2015 multi-GPU test bench, detailed in the table below. Our thanks to supporting hardware vendors for supplying some of the test components.
NVidia's latest 358.91 Fallout 4 drivers were used for testing, including the Fallout 4 optimizations. The latest AMD Catalyst drivers (15.11 beta) were used for testing. Game settings were configured to "Ultra" with “ultra” overrides where not selected, "Medium," and “Low” presets at 1080p, 1440p, and 4K resolutions. Once we determined which settings provided a reasonable level of load for appropriate video cards, we forged forward testing those configurations on our suite of GPUs.
Each scenario was tested for 30 seconds identically, then repeated three times for parity. We tested in Diamond City, the first major township the player reaches. We found parts of Diamond City to produce highly intensive load, with a performance gap as wide as nearly 60% in some instances. This makes Diamond City a poorly optimized region of the game that represents a mixed load scenario; our test run begins with the camera pointed toward a heavily occupied region of the city, then moves around a much less intensive corridor. The result is a mixed GPU load that is 100% reproduceable and representative of real-world play experiences.
Our above video shows the course we used. This was chosen for its reproducibility and reliability during test. Benchmarks which do not precisely emulate our course taken will vary in results, depending on what area of the game they were executed.
|GN Test Bench 2015||Name||Courtesy Of||Cost|
This is what we're testing!
|CPU||Intel i7-5930K CPU||iBUYPOWER
|Memory||Kingston 16GB DDR4 Predator||Kingston Tech.||$245|
|Motherboard||EVGA X99 Classified||GamersNexus||$365|
|Power Supply||NZXT 1200W HALE90 V2||NZXT||$300|
|SSD||HyperX Savage SSD||Kingston Tech.||$130|
|Case||Top Deck Tech Station||GamersNexus||$250|
|CPU Cooler||NZXT Kraken X41 CLC||NZXT||$110|
Average FPS, 1% low, and 0.1% low times are measured. We do not measure maximum or minimum FPS results as we consider these numbers to be pure outliers. Instead, we take an average of the lowest 1% of results (1% low) to show real-world, noticeable dips; we then take an average of the lowest 0.1% of results for severe spikes.
First off, the above FPS results are not comparable to our Fallout GPU benchmark, which conducted testing under different time of day and weather conditions.
The 390X still trails the 970 at 1080p when both devices disable godrays – probably an optimization issue in the drivers or game – but we see a measurable performance gain for each device by toggling god rays. The 390X moves from 71FPS to 80FPS average and increases its 0.1% bottom line to 44 from 36 by disabling godrays. The average FPS gain is about 12%. The 970 moves from 81 to 87 FPS – a smaller 7% gain, but still noticeable. The 970 retains its lead.
At 1440p, the 390X still runs ahead just from the additional pixel workload bogging down the 970.
What we found, though, is that even disabling many of the volumetric lighting effects does not inherently grant AMD a performance advantage. It closes the gap, but doesn't eliminate it.
Hopefully that should answer a lot of the questions we've gotten about volumetric lighting performance! Should anyone have other testing requests, we'll try to get around to them – though the Steam Link is currently occupying our bench.
- Steve "Lelldorianx" Burke.