Remedy’s Control is unquestionably the best looking game I’ve ever seen. If you missed it, here’s our review performed on Xbox One X. But make no mistake. The PC version is legitimately next generation when compared to its console counterpart. Ray tracing is not a gimmick. Its implementation in Control is unparalleled.
Control on PC is nothing short of a technical masterpiece. It is the new standard bearer for ray tracing, a profound reckoning of the PC’s consolidation as the single most powerful, most innovative, and incontrovertible leader of games and technology.
Fair warning, this article will be technical in nature. If tech talk isn’t your cup of tea, well, you’ve been forewarned. If you are curious, however, feel free to stick around as I walk through the technical aspects of Control with a heavy focus on ray tracing. Additionally, if you’re reading this on desktop or tablet, be sure to click on each image so you can view the full resolution quality.
Control is the first game to release to incorporate multiple implementations of ray tracing within. Previous titles such as Battlefield V and Shadow of the Tomb Raider leveraged ray tracing for one specific purpose such as reflections in the former and shadows in the latter. Metro Exodus, my former “Best Looking Game Ever” award winner, leveraged ray tracing for global illumination. These games used standard rendering, called rasterization, for all other aspects of lighting.
Control, on the other hand, uses multiple implementations of ray tracing. These include both normal and transparent reflections, indirect diffuse illumination, and contact shadows for most directly influential light sources. Control also leverages Nvidia’s machine-learning AI-powered upscaling technology, DLSS, for further performance savings and anti-aliasing.
This multi-front holistic approach to ray tracing is what had me sat straight up upon learning this information. This has never been done before in games. Ever. It is not, therefore, hyperbolic in the least to state that Control is a true watershed moment in the industry, and a new benchmark for real-time rendering.
Northlight: Remedy Storytelling Technology
In order to understand the ray tracing implementation in Control, it’s important to understand the foundation upon which it’s built. You cannot build a house without tools, after all. If Control is the proverbial “house,” the “tools” would be Remedy’s proprietary, homegrown engine, Northlight.
Northlight has seen many revisions over the years, with the most recent iteration making its outing on 2016’s Quantum Break. Even though there were issues with the game at launch, especially on the PC Windows Store version, the tech contained within was impressive.
The engine featured extremely detailed character models sporting SSS (subsurface scattering), a highly filmic presentation due to its reconstruction technique (present on both Xbox and PC versions, though could be disabled on the latter) and post process pipeline, in addition to excellent PBR (physically based rendering) materials and phenomenal GI (global illumination).
It is this last feature, GI, which has seen the greatest evolution from its usage in Quantum Break to its current implementation in Control. Featuring an extremely robust PBR material pipeline, a state of the art lighting model, and all the best tricks of today including cone-tracing for reflections, Control is perhaps the peak of current rendering technology. That is, Control is the best looking rasterized (non-ray traced) game I’ve seen, and features the absolute limit of what is possible today with modern rasterization techniques.
You can see all of these elements and features brought together in the image above to produce arguably the best of what current rasterization can achieve. Beautiful PBR material work coupled with excellent textures create real depth to all the objects in the scene. SSR (screen space reflections) coupled with Northlight’s usage of cone traced reflections work to create perhaps the best non-ray traced reflections I’ve seen to date. To round it off, good shadowing and SSAO (screen space ambient occlusion) work in tandem to create effective indirect lighting and shadowing. But ultimately, these are all rasterization tricks used to emulate ray tracing.
Pay attention closely and you’ll notice things are off. For example, the trash can to the right includes a simple SSR reflection which is a very rough approximation of its surrounding environment. As a result, the SSR is warped and unnatural. The shadowing and reflections under the janitor cart right of center, while effective, aren’t quite correct due its extremely close proximity to the cart. The shadow simply looks like a continuation of the cart. Finally, the reflection on the ventilation pipe at the top, while present, is once again a very rough approximation of its environment. As a result, it looks very flat and unnatural. The ceiling in the hallway is guilty of this as well.
These tricks are what gamers are used to seeing for the last 30 years as technology has evolved. To a gamer, this may seem “right” because this type of scene looks “normal” in gaming. But it is fundamentally incorrect
Now that we’ve seen what the best of current rasterization techniques can muster, let’s take a look at the ray traced version.
Immediately, the scene comes alive. The trash can to the right now properly reflects the environment, including the red carpet from the room beyond. This same carpet is reflected properly in the ventilation pipe above. The janitor cart is now separated from its shadow, and receives full shadowing and reflection. Even the bulletin board to the left reflects the red coloration from the carpeted room, thanks to diffuse lighting and proper PBR materials. This scene is mathematically accurate and is a good example of the future of rendering technology as presented in Northlight today.
Nvidia outlined in a video just how this ray tracing is handled on their RT cores in their Turing GPUs. Note, it’s important to recognize that virtually any GPU can perform ray tracing. Nvidia didn’t invent it. Nvidia merely created hardware (RT cores) dedicated to performing the math and BVH (bounding volume hierarchy) tree traversals required by ray tracing. Because of this, ray tracing on Nvidia’s Turing GPUs featuring these RT cores is simply faster and more efficient than GPUs lacking this dedicated hardware.
The top section shows the time it takes to render a ray traced frame on an RTX 2060 with the RT cores disabled, while the bottom shows the render times with the RT cores enabled. You can see that with RT cores enabled, this render time is cut nearly in half.
If we look at the RT cores render graph more closely, we can see just how each cycle is broken down as it becomes dedicated to performing specific ray tracing tasks. Remember, this is all happening in real-time. This breakthrough innovation is why real-time ray tracing is possible today, and not 10 years from now like I had thought just 18 months ago.
If you’re interested further in the ray tracing implementation in the Northlight engine, check out these slides from a GDC 2018 presentation by Remedy Entertainment. It’s highly informative and damn impressive. With this background out of the way, let’s dive into what makes Control a ray tracing masterpiece and triumph of unrelenting PC power.
Control boasts a myriad of graphics options, while supporting uncapped framerate and ultrawide resolutions. The PC version, in this regard, is well catered for.
Control allows toggles for each variant of ray tracing, and is highly customizable in this regard. You can mix and match for your specific taste. However, should you decide to leverage ray traced reflections (both standard or transparent), disable Global Reflections in the settings above. Similarly, if you decide to utilize ray traced indirect diffuse lighting, disable SSAO above. You’ll save a few frames in performance by doing so on both counts.
But first, let’s start with antialiasing as this is actually quite important to the overall image quality and is worth discussing up front. You’ll notice the only AA (antialiasing) option available is MSAA, or multisample antialiasing. Northlight features TAA (temporal antialiasing) as part of its post process pipeline which is enabled by default and is not toggleable, so any MSAA added will be on top of the existing TAA.
In my frank opinion, don’t bother with 4x MSAA as the performance hit may be too much for some. You can get away with 2x MSAA just fine without much of a performance penalty. The TAA, while effective, doesn’t cover high frequency objects or alpha assets like hair. For example, see the image below which only features TAA with MSAA disabled.
You’ll notice Jesse’s hair is noisy here. Additionally, you can see the manhole grate has some artefacting in its corner.
Enabling 2x MSAA eliminates this noise from Jesse’s hair, and cleans up the image more. The artefact on the manhole cover is now absent. As a result, the image is cleaner. It’s worth enabling 2x MSAA for this reason alone.
Ray Traced Indirect Diffuse Lighting & Contact Shadows
So just what is indirect diffuse lighting? In short, it provides accurate real-time lighting of the environment. This includes any bounced light from nearby surfaces. This results in a subtle but mathematically accurate and photorealistic color bleed. In fact, indirect diffuse lighting is what ambient occlusion attempts to mimic.
Contact shadows are like icing on the cake. They are the final polish applied to the existing shadows in a scene. They are quite literally the shadows created at the point of contact between objects. Traditional rasterization makes contact shadows extremely difficult to emulate, however, with ray tracing, it just simply works, even on the smallest and finest of objects as we’ll explore below.
To illustrate this diffuse lighting, let’s look at a highly obvious example.
This image contains no ray tracing of any kind. This is simply the maxed out version of the game featuring rasterized techniques only. It doesn’t look bad, right? This represents the “normal” gaming look of high end games today. However, it’s just not correct.
This is the ray traced version with all ray tracing options enabled. Crucially, the encircled sections are the areas to which you should pay attention. Note the distinct yellow hue now propagating the scene. This is caused by light from the ceiling hitting the yellow pipes, and retaining this color information as it physically bounces around hitting other objects in the scene. This is mathematically accurate and is photoreal.
Let’s look at a more subtle example illustrating both diffuse lighting and contact shadows.
This scene features no SSAO nor any ray tracing of any kind. It may not look bad, but look closely and you’ll notice just how flat everything looks. The wall, for example, appears to float without any real shadows present to ground it in place. Similarly, Jesse simply doesn’t have a shadow, causing her to appear floaty as well. Now let’s turn on diffuse lighting.
Immediately, shadows enter the scene. The wall, plant, cart, and even the phone receives proper shadowing and occlusion. Let’s now turn on contact shadows.
Notice how Jesse now has shadows at the point of contact between her and the floor. The lamp, desk, typewriter, flowers all receive proper contact shadows. Even the individual ball bearings in the wire holding the pen are properly shadowed!
It’s astounding the fine layer of detail contact shadows bring to the game. Like I said, it’s the icing on the cake, and is truly a decadent luxury. If you’re trying to save performance, do so by disabling contact shadows.
In short, the ray traced diffused shadows and contact shadows in Control are nothing short of extraordinary and represent the ultimate in graphics rendering technology for indirect lighting. Their high performance cost might be off-putting to some, but I can’t get enough. For me, they are completely worth it.
Ray Traced Reflections & Transparent Reflections
Ray traced reflections are perhaps the most obvious ray tracing technique visible to the average person. You’ve seen this in Battlefield V. In short, they simply reflect the surrounding environment accurately. This is completely different to SSR which only reflects objects within screen-space.
Transparent reflections are reflections upon a transparent object, like glass in a window. In real life, you can see through a window, but you also see the reflection of the environment behind you. This has been completely missing in games, which attempt to mimic this with projection mapping by utilizing cubemaps. But since cubemaps by definition are static images of a surrounding environment which are then baked onto a surface, you will never achieve any actual reflection.
Both types of ray traced reflections take into account a material’s roughness which determines how rough or smooth the resulting reflection will be. For example, a polished floor is smoother than brick, and will therefore produce a smoother reflection than brick.
But first, let’s start with ray traced reflections by looking at an image with SSR only and no ray traced reflections.
Note how the only reflections are contained within the black-bounded area. Everything in the blue marked areas is blank. This is because the ceiling light stretches behind Jesse, and behind the camera. Because it’s behind the camera, it’s outside of screen space. Thus, it’s not reflected. Now let’s turn on ray tracing.
All of a sudden, you can see the ceiling light completely reflected in the wood on both sides of Jesse even though it’s not in screen space. Note also how the emergency alarm is completely reflected on both walls right above Jesse.
Now let’s look at transparent reflections by first looking at the scene with only SSR enabled and ray tracing disabled.
This is the normal “gaming” look people have been acclimated to expect over the last 30 years of gaming technology. Now let’s enable transparency reflections.
Just like that, you can see the hallway behind Jesse as the environment becomes reflected in the windows. Notice how you can still see the wooden slats through the windows while still seeing the reflection of the hallway behind Jesse. Here’s another example of transparent reflections.
Once again, you can clearly see through this window. But you can also see Jesse reflected back from the window. This is physically correct.
Ray traced reflections and transparent reflections are used to great effect in Control, even on extremely subtle items. Let’s take a look at this coffee maker with all ray tracing off, and only SSR enabled.
This is yet another example of the normal “gaming” presentation. The scene utilizes SSR and cone tracing to approximate a reflection on the coffee maker’s glass kettle, but it’s still not correct. Now let’s turn on ray tracing.
While this is a much more subtle effect than the previous examples, it’s by far the most profound. Looking closely, you can actually see Jesse reflected in the coffee maker! This subtlety is something which can never be achieved with traditional rasterization, yet simply works with ray tracing. I spent a solid 10 minutes staring in awe when I discovered this. It’s truly an incredible achievement.
I mentioned roughness earlier in this section. Let’s look at an example with only SSR enabled and no ray tracing.
You can see just how flat the scene looks. Note the very subtle but inaccurate reflection in the corner of the elevator there. Let’s turn on ray tracing.
The scene now comes alive and is much more natural. Crucially, notice how the metallic elevator wall and the wooden panels beneath it both reflect the environment. However, the metallic wall is rougher than the wooden panel, and thus produces a rougher reflection. This is only possible when ray tracing is combined with excellent PBR materials, allowing objects to achieve their ground-truth properties.
Ray traced reflections in Control are absolutely incredible to look at. If there’s only one type of ray tracing effect you can afford to enable, enable both ray traced reflections and ray traced transparent reflections.
Ray Traced Debris
Control also sports ray tracing for debris. This is a more subtle effect, and can be disabled if you so wish. I, however, enabled everything because I love this technology. Ray traced debris allows for the ray tracing of various debris caused by the sheer chaos in Control. This extends to particles and objects which are thrown and exploded due to the mayhem you gleefully cause.
This is an example of what ray traced debris looks like. Note how the exploding object and its particles are properly reflected in the puddle below.
Issues & Oddities
Despite this inarguable technical achievement, Control is not without its issues. For example, some hours into the game, I began to experience stuttering. This only happened in DX12 mode, and doesn’t appear to be related to streaming. I’m assuming there’s either some shader or caching issue going on. Take a look at the graph on the left hand side of this image. Note how uneven it is. Those spikes manifest as stutter and are intrusive to the experience.
Additionally, as with all ray traced applications, a de-noiser must be applied to smooth out any ray tracing artefacts. In Control, a spatial and temporal de-noiser are applied. However, in certain rare instances, this de-noiser isn’t effective and shows up primarily in shadows like in the example below. You can see how the shadows aren’t a smooth gradient. I imagine this can be improved in a patch. Note, the ray tracing is correct here, the de-noiser just isn’t behaving properly.
Additionally, there is definitely noticeable temporal ghosting caused by moving objects. I suspect Northlight’s highly filmic soft look is a result of such temporal treatment. While this may produce a smooth image, it can cause ghosting. This became immediately obvious to me in the first five minutes when looking at vehicles outside. Notice the ghostly trail left behind by the car. Either far more temporal sampling, or much higher resolution can resolve this.
Of all these issues, the stutter presented in DX12 is the most annoying. But it’s nowhere near as bad as the issues presented in the console versions of the game as analyzed by Digital Foundry. These DX12 stutters can most likely be cleared up in a patch, perhaps optimizing for shaders and caching if my suspicions are correct.
A look at Control console performance, via Digital Foundry
Control is an absolute technical masterpiece on PC. It is the culmination of decades worth of research and development and billions of dollars of investment, finally resulting in tools in the form of GPUs from Nvidia to be used by supremely talented Finnish developers at Remedy.
We must recognize this milestone and celebrate it for what it is. It is a watershed moment in our industry. The technology on display here has never been possible before now. Control is a testament to a true dedication to progress, and of the people with the sheer audacity to take us there.
Control proves, now more than ever, the evergreen unrelenting, unapologetic, unimpeded progress only afforded by PC gaming, and stands as a stark reminder of the raw horsepower only possible on this platform.
Control is a technical masterpiece, peerless in nature, and an unrivalled triumph of PC gaming.