Improved Graphical Fidelity in WoW

We appreciate that AMD made it possible for us to update World of Warcraft: Shadowlands to include their FidelityFX Combined Adaptive Compute Ambient Occlusion (CACAO), a new implementation of screen-space ambient occlusion. This is an effect used in World of Warcraft to improve graphical fidelity. Here’s a bit of a deep dive into what CACAO is, why it was integrated into World of Warcraft: Shadowlands, and what was gained by doing so.

What is AO?

Ambient Occlusion (AO) is the concept in graphics where the overall lightness affecting a surface in an environment is diminished by the presence of other nearby surfaces. Those other surfaces block, or occlude, some of the non-directional scattered light in the scene from reaching the affected surface.

Think about a car on the highway on a sunny morning. The car would have both a shadow – a sharp outline of the silhouette of the car cast opposite the direction of the sun – and a softly shaded area on the road underneath, more-or-less centered on the car. On a very overcast day, the car may not have much of a shadow, but the shaded area underneath would still be apparent.

AO mimics the shading effect under the car which is not its direct shadow. Subjectively, AO adds subtle visual cues about the proximity of surfaces in the scene while making the resulting image appear less flat.

Switching to CACAO

FidelityFX CACAO is an AO technique like the one used in Battle for Azeroth, with optimizations, and it’s implemented in compute. The hope here is that by switching to this new implementation, players would get the same look with a smaller performance cost. CACAO also adds a new reduced-resolution operating mode, which promised a much slimmer performance profile with minimal degradation to visual quality. By being entirely implemented in compute, CACAO can be offloaded onto the compute queue, to run in parallel with graphics, although that has not yet been taken advantage of for Shadowlands.

Steps to Get There

Integrating FidelityFX CACAO into World of Warcraft went smoothly; the overall technique is so similar to the previous AO that it could easily be dropped in as a replacement, consuming the same inputs to produce similar output. As a source code distribution, CACAO includes support out-of-the-box for DirectX 12 and Vulkan APIs. Since WoW targets DirectX 11 and 12 on Windows and Metal API on MacOS, there was a modest porting effort involved to get the technique working through the API abstraction layer for tasks such as resource management and command list construction.

Fortunately, since WoW’s shader programs are (mostly) written in HLSL, very few changes were needed to the DirectX 12 version of the CACAO shaders, where most of the logic that implements the technique is.

The Results

FidelityFX CACAO in full-resolution mode produces results that are visually indistinguishable from our previous implementation and yields a modest performance improvement on most graphics cards, especially newer architectures with more mature compute capabilities. On most systems, however, we’ve elected to apply the reduced-resolution mode, which produces results that are nearly as good with a substantial improvement in performance across all compatible devices.

9 Likes

I love drinking CACAO

9 Likes

So…does this mean that those with older GPUs will now be able to play WoW again?

2 Likes

I find it amazing how the graphics in WoW keeps evolving year over year :slight_smile:
But will there be any difference depending on whether i’m using AMD or Nvidia gpu’s (amd 6xxx vs Nvidia 3xxx series), considering that nvidia also support dx12 and vulkan api’s ?

1 Like

AMD Market Leader 2022
Nvidia losing market Share by the gallon boats trust me I’m like a wizard
But for now I’m a total Nvidia fanboy, they have my respect
Better DLSS, bigger machine learning libraries, Better raytracing, faster memory, I know I’m missing something.

AMD are playing catch up, just like they did with Intel, but once they catch up & match up… and … beat up their competish it’s Lambos & Ferraris from then on. I wish Nvidia the best tho, as we don’t want a single company to dominate the CPU & GPU market at the same time do we D:

AMD is a failure company,Intel is the way to go.

That didn’t take long to evolve into a Nvidia vs AMD discussion.

Improvements to perfotmance are always welcome. Though I have to admit for WoW it’s usually the CPU being the bottleneck, so we’ll have to see if this will be a noticeable performance increase on most PCs.

Nope, this doesn’t cover those “very old” GPUs prior to Shader Model 5.

In end result no and both will perform accordingly to their relative performance.

Nvdia are also in the SCB ( Single Board Computer) market and AI. Their SCB is better than the current Rapberry Pi but also costs more.

Thats why i cant see yazma’s purple puddles in atal dazar?
Damn that was smooth yeah!

Only if youre a gnome <3

I have seen so many AMD products crash and fail,esp the cpus.
Thats why i dont like it.

Im using AMD’s the last 10 years.
Never had a crash because of the CPU neither heat problems, i guess you have to learn how to setup your system instead of being an Intel victim :slight_smile:

Until 3 days ago i was raiding making great logs with an AMD FX 8350 that never betrayed me.
No doubt Intel is performing better, but paying so much more to get the relevantly same output is only for victims my friend :laughing:

CACAO with some cookies. best breakfast

1 Like

As of today the Ambient Occlusion Type can be selected in the System > Advanced section. Is this related to the System > Graphics > SSAO, is there a dependency? Any performance gain is most welcome here, but for me the clear winner is “disabled”.

AMD BIAS!!!

AMD=ILLUMINATI!!!

1 Like

This is good news , but a bit late i upgraded my pc :smiley: and sl was a tap on the shoulder for that .

Nvidia is bound to be the market leader when it comes to DLSS/Ray tracing.

They have a 2 year headstart on AMD.

RTX stock issues are going to make people remember that AMD exists and they’re competitive.

AMD is hard dominating the CPU market now, 5900/5950X are taking a steamy dump on the Intel 10900k.

Also AMD looks competitive as hell with RDNA 2.

I don’t think they are dependent to each other.

I disabled SSAO long time ago to have extra FPS. Having that feature doesn’t add any noticeable graphics enhancement.

Yesterday, when I checked Advanced Settings, I noticed the game already enabled CACAO by default.