• Competitor rules

    Please remember that any mention of competitors, hinting at competitors or offering to provide details of competitors will result in an account suspension. The full rules can be found under the 'Terms and Rules' link in the bottom right corner of your screen. Just don't mention competitors in any way, shape or form and you'll be OK.

A Closer Look At Mantle and EQAA In Civilization

Caporegime
Joined
12 Jul 2007
Posts
42,684
Location
United Kingdom
I wanted to start this thread to help explain some of the exciting features we've implemented in this new game. This is not about benchmark results or discussion of said results, this is information about the tech behind the numbers. Information about the power that Mantle puts in the hands of the developer. The reason why developers have been calling out for a new, low level and advanced API. I hope you find it of interest.

MANTLE SPLIT-FRAME RENDERING WITH AMD CROSSFIRE™ TECHNOLOGY

With a traditional graphics API, multi-GPU arrays like AMD CrossFire™ are typically utilized with a rendering method called “alternate-frame rendering” (AFR). AFR renders odd frames on the first GPU, and even frames on the second GPU. Parallelizing a game’s workload across two GPUs working in tandem has obvious performance benefits.

As AFR requires frames to be rendered in advance, this approach can occasionally suffer from some issues:
Large queue depths can reduce the responsiveness of the user’s mouse input
The game’s design might not accommodate a queue sufficient for good mGPU scaling
Predicted frames in the queue may not be useful to the current state of the user’s movement or camera

Thankfully, AFR is not the only approach to multi-GPU. Mantle empowers game developers with full control of a multi-GPU array and the ability to create or implement unique mGPU solutions that fit the needs of the game engine.

In Civilization: Beyond Earth, Firaxis designed a “split-frame rendering” (SFR) subsystem. SFR divides each frame of a scene into proportional sections, and assigns a rendering slice to each GPU in AMD CrossFire™ configuration.2 The “master” GPU quickly receives the work of each GPU and composites the final scene for the user to see on his or her monitor.

ESSENTIAL READING:How Does Split Frame Rendering Work In CIV?

As you can probably surmise, SFR requires high parallelization, efficient inter-GPU communication, and reliable delivery of slices to the master GPU. AMD Radeon™ graphics cards running Mantle are uniquely equipped to meet those requirements.


MANTLE MULTI-THREADED COMMAND BUFFER SUBMISSION

As Mantle rises to meet the parallelization requirements of SFR, Mantle also supercharges Beyond Earth’s ability to utilize a gamer’s multi-core CPU.

In computer graphics, a “command buffer” is a type of memory buffer containing instructions (or “commands”) that the GPU will execute to carry out required rendering workloads. Feeding the GPU with a continuous, uninterrupted flow of commands is essential to keeping the whole graphics card at high utilization. High utilization can yield higher framerates and/or higher image quality, depending on the focus of the game developer.

je7P8T0.jpg


Mantle is remarkable in its ability to spread a game engine’s command buffer submissions across multiple CPU cores, ultimately allowing for a wider stream of graphics work to be processed and queued to the GPU.

In the case of Sid Meier’s Civilization: Beyond Earth, you’ll see later in this blog that this wide communication lane to the AMD Radeon™ GPU is used to sustain higher overall framerates when empires get large and detailed in the late game.


EQAA in Mantle

Aliasing, the nasty “jaggies” on the edges of 3D objects in a PC game, is the bane of gamers everywhere. Aliasing is produced when a sharp edge is rendered to a monitor, which doesn’t offer sufficiently high pixels per square inch to properly express a smooth line.

There are many types of anti-aliasing designed to combat this unwanted phenomenon, and the majority of them fall into a category known as “multisample anti-aliasing” or MSAA. As the name implies, MSAA relies on “samples,” which is a graphics card’s test for whether or not a pixel on your monitor is occupied by one or more objects from the game world. If a pixel is covered by more than one triangle then the final contents/color of that pixel will be a blend of the information covering that pixel to produce a smoother edge.

Games and GPUs can cooperate to increase the number of samples being taken with each pixel, and these samples may test for color or coverage. Higher coverage sampling improves the accuracy of detecting whether or not an object occupies the pixel; higher color sampling improves the blending between samples confirmed to be occupied. Gamers increase the sample rate by choosing 2x, 4x or 8x MSAA, causing every pixel to be tested for color and coverage in two, four or eight locations.

Learn More: MSAA Overview

Like MSAA, AMD’s Enhanced Quality Anti-Aliasing (EQAA) also comes in 2x, 4x and 8x sampling modes, but each EQAA mode takes twice as many coverage samples as MSAA. Increased coverage testing allows the GPU to more accurately detect objects within a pixel, potentially allowing EQAA to detect and smooth a hard edge that might have been missed with fewer samples. Coverage samples are computationally cheaper than color samples, so EQAA proves to be a good compromise between quality and performance.

VV4BvpA.png


Civilization: Beyond Earth automatically enables EQAA in Mantle (and DirectX®!) on supporting AMD Radeon™ GPUs when the user chooses to enable the in-game anti-aliasing options.

Customers with older GPUs that lack hardware support for Mantle can still take advantage of EQAA through the AMD Catalyst™ graphics driver. Simply enable 2x, 4x or 8xMSAA in the options menu of your favorite game (if supported), and ensure you have “enhance application settings” selected in the 3D Application Settings tab of AMD Catalyst™ Control Center.

John Kloetzki, Principal Graphics Programmer for Sid Meier’s Civilization: Beyond Earth talks about the partnership with AMD and explains how the Firaxis team worked leveraged the Mantle API to push AMD graphics hardware to its fullest extent, enabling great performance for PC gamers.



AMD and Firaxis Games have worked together for months, not only to equip Civilization: Beyond Earth with a Mantle-based renderer, but to refine the Mantle specification with the features that Firaxis wanted to see. Hundreds of collaborative man hours are coming together for AMD Radeon™ customers at this very moment, and the results speak for themselves: fast, beautiful, efficient performance for Sid Meier’s Civilization: Beyond Earth.

That is the power of the AMD Gaming Evolved Program. We hope you enjoy one more turn!

Full Article & More Info
http://community.amd.com/community/...preme-in-sid-meiers-civilization-beyond-earth
 
Last edited:
Interesting read, i personally dont understand any of the AA stuff so it was good to read something that makes me half understand whats going on :)

Glad you enjoyed it. If people aren't interested in the tech or discussing it then this is not the thread for them.
 
+1

Interesting informative reading.

I read the TR article last night on SFR, also really interested in what potentially could be a game changer with dual setups if it transpires to achieve it's aim.

Problem being(for me), Civ has zero interest to myself and hoping SEv3 has a tasty Mantle CrossFire technique like they hinted too.

Thanks Matt, enjoyed the article.:)

I'm looking forward to seeing what Rebellion do with multi gpu under Mantle in Sniper Elite V3. Will they go the AFR route or the SFR route? Perhaps even a third method. ;) Mantle already provides frame variance consistency that DirectX can't compete with currently.
 
I'm assuming, though I could be wildly wrong, that SFR made sense for this scenario because of the nature of the game and the large number of discrete graphical segments while most FPS games involve objects that cross large segments of the screen, lighting effects that again cross the screen etc. which I'd imagine would cause them to lose a lot of benefits for SFR.
However, I'm not a graphics dev so could be talking out of my rear end!

What you say makes perfect sense David to be honest. I'd be surprised to see SFR in Sniper Elite V3, but who knows anything is possible as the developer has full control over how they implement multi gpu techniques within the API.
 
Some good info...what I'm not 'getting' if you will, is why EQAA is now suddenly a big deal? It's been around in cats since early 2011 and the nvidia varient, CSAA has been about since late 2006. Also it's been forcible via drivers since their respective release dates. So just about any game can use it yet some are getting excited because it's enabled in game, a civ game at that?

Hi Pg Tips,

AMD has promised that developers would start exploring totally unique solutions to multi-GPU with Mantle. Civilization does that. Users will get an incredibly smooth, buttery experience if they have CrossFire. This is the main reason for the thread. To spread awareness about SFR and other unique features that Mantle and CIV offer to AMD customers. EQAA is one of them. The process may have been around for a while, but i believe this is the first time it's automatically applied in a game when enabling MSAA without any further requirement from the user. Pcper had this to say on EQAA
Improves anti-aliasing quality by doubling the coverage samples (vs. MSAA) at each AA level. This is automatically enabled for AMD users when AA is enabled in the game.
We’re doing cool things with image quality that give a better experience on AMD—and we’re still winning benchmarks!

Because having in game AA options is much easier for everyone and there are plenty of users who dont go it the CP or dont know what they are doing when they do, hence why games are getting more and more ingame AA options that have been available for years through the CP .

Also, this.
 
Will it be smooth and buttery with vsync on, on a 60hz monitor, even when the frametimes solidly stradle the 16-20ms range?

I will be sure to let you know andy when i get my copy, I'll make sure i test that as i play with Vsync always. Basing my previous Mantle experiences on Battlefield 4, Hardline, Plants Vs Zombies, Star Swarm, Sniper Elite V3 and Thief I'd say absolutely. Mantle is smoother than everything else I've tried.
 
Ah so you'd rather have 1 frame with multiple GPUs working on it even if the performance increase is less than AFR? I thought you could force CF to use scissors (SFR) or tiled modes? (I've not played with much it since about 2010).

Rroff, Techreport (and AMD) had this to say on SFR. Might be worth checking out pcper too for their opinion on it.

AMD provided us with an explanation of their approach that's worth reading in its entirety, so here it is:

With a traditional graphics API, multi-GPU arrays like AMD CrossFire™ are typically utilized with a rendering method called "alternate-frame rendering" (AFR). AFR renders odd frames on the first GPU, and even frames on the second GPU. Parallelizing a game's workload across two GPUs working in tandem has obvious performance benefits.

As AFR requires frames to be rendered in advance, this approach can occasionally suffer from some issues:

· Large queue depths can reduce the responsiveness of the user's mouse input

· The game's design might not accommodate a queue sufficient for good mGPU scaling

· Predicted frames in the queue may not be useful to the current state of the user’s movement or camera

Thankfully, AFR is not the only approach to multi-GPU. Mantle empowers game developers with full control of a multi-GPU array and the ability to create or implement unique mGPU solutions that fit the needs of the game engine. In Civilization: Beyond Earth, Firaxis designed a "split-frame rendering" (SFR) subsystem. SFR divides each frame of a scene into proportional sections, and assigns a rendering slice to each GPU in AMD CrossFire™ configuration. The "master" GPU quickly receives the work of each GPU and composites the final scene for the user to see on his or her monitor.

If you don’t see 70-100% GPU scaling, that is working as intended, according to Firaxis. Civilization: Beyond Earth’s GPU-oriented workloads are not as demanding as other recent PC titles. However, Beyond Earth’s design generates a considerable amount of work in the producer thread. The producer thread tracks API calls from the game and lines them up, through the CPU, for the GPU's consumer thread to do graphics work. This producer thread vs. consumer thread workload balance is what establishes Civilization as a CPU-sensitive title (vs. a GPU-sensitive one).

Because the game emphasizes CPU performance, the rendering workloads may not fully utilize the capacity of a high-end GPU. In essence, there is no work leftover for the second GPU. However, in cases where the GPU workload is high and a frame might take a while to render (affecting user input latency), the decision to use SFR cuts input latency in half, because there is no long AFR queue to work through. The queue is essentially one frame, each GPU handling a half. This will keep the game smooth and responsive, emphasizing playability, vs. raw frame rates.

Let me provide an example. Let's say a frame takes 60 milliseconds to render, and you have an AFR queue depth of two frames. That means the user will experience 120ms of lag between the time they move the map and that movement is reflected on-screen. Firaxis' decision to use SFR halves the queue down to one frame, reducing the input latency to 60ms. And because each GPU is working on half the frame, the queue is reduced by half again to just 30ms.

In this way the game will feel very smooth and responsive, because raw frame-rate scaling was not the goal of this title. Smooth, playable performance was the goal. This is one of the unique approaches to mGPU that AMD has been extolling in the era of Mantle and other similar APIs.

All I can say is: thank goodness. Let's hope we see more of this kind of thing from AMD and major game studios in the coming months and years. Multi-GPU solutions don't have to double their FPS averages in order to achieve smoother animations or improved responsiveness. I'd much rather see a multi-GPU team producing more modest increases that the user can actually feel and experience.
 
Currently the best driver to use for Civilization Beyond Earth with Mantle is 14.9.1, that is until 14.9.2 driver hits.
 
Letting developers feed the multi GPU queue with their own best optimised data is a nice option to have especially for developers who are producing their game from the ground up. AMD should really have distanced what they are doing there from SFR though as it sounds like they are trying to talk up a very old technique as if its a new discovery when the important bit is the evolution of how the pipeline between the game data and the (multi) GPUs works.

Some of the examples though in that quote are badly best case scenarios that rarely work out that way ingame due to the varied nature of what is on screen.

Pcper conducted some frame variance testing of Mantle SFR vs the competition. In terms of variance and smoothness it was completely one sided in the favour of Mantle. However Mantle produced lower average fps as the focus was on providing the ultimate, smooth gaming experience.
 
John Kloetzki, Principal Graphics Programmer for Sid Meier’s Civilization: Beyond Earth talks about the partnership with AMD and explains how the Firaxis team worked leveraged the Mantle API to push AMD graphics hardware to its fullest extent, enabling great performance for PC gamers.

 
Last edited:
Civilization Beyond Earth and the Mantle renderer haves received a lot of positive feedback from some of the most respected sites out there and thought I'd share a small sample of those for anyone interested.

We were expecting to see a small performance bump from using Mantle based on the graphs that AMD supplied in its reviewers guide. Much to our surprise though using Mantle doubled and nearly doubled minimum and average frame rates respectively.” – Thomas Ryan, SemiAccurate

"It’s also worth noting that Mantle is drastically more power efficient than DirectX 11. It also has significantly more consistent power draw numbers. Such a pattern could allude to Mantle doing a better job of keeping our R9 290X fed than DirectX 11.” – Thomas Ryan, SemiAccurate

"At the end of the day Civilization: Beyond Earth is a great game and it’s clear that it makes good use of AMD’s Mantle API.” – Thomas Ryan, SemiAccurate

“The bottom line is that if you have an AMD GPU, games like Civilization: Beyond Earth can certainly benefit. Maybe Direct3D 12 will bring similar options to developers next year, but in the meantime, congrats to both AMD and Firaxis for shining the light on the latency subject once again.” – Jarred Walton, AnandTech

“Civilization games can get rather busy once the turn counter starts to number in the hundreds. Maps can cover large distances of space, and zooming out exposes dozens of cities, outposts and units. Things understandably get a little slow. Beyond Earth thankfully, on its highest settings with an R9 290 at 1080p, never dipped below 30 frames per second even in the very busy benchmark that populated nearly every single hex. And it's certainly no slouch in the visual department.” – Christopher Scott, Gameranx

“Mantle does have a much more tangible impact on minimum frame rates, and this is always beneficial, particularly once a game is averaging more than 60FPS. In some cases Mantle was able to improve the minimum frame rates (e.g. on R9 290X) by 40-50%, though that was only at less strenuous settings. Still, even the 5-15% increases in minimum frame rates at higher resolutions are welcome.” – Jarred Walton, AnandTech

“The AMD Radeon R9 290 and 290X video cards performed well at 4K resolutions and most certainly benefited from the Mantle as the API was able to improve the average FPS by a good 4-5 FPS.” – Nate Kirsch, Legit Reviews

“AMD provided us with an explanation of their approach that's worth reading in its entirety..All I can say is: thank goodness. Let's hope we see more of this kind of thing from AMD and major game studios in the coming months and years. Multi-GPU solutions don't have to double their FPS averages in order to achieve smoother animations or improved responsiveness. I'd much rather see a multi-GPU team producing more modest increases that the user can actually feel and experience.” – Scott Wasson, The Tech Report

“In performance testing, the AMD Radeon™ R9 290X GPU with Mantle rendered Sid Meier's Civilization®: Beyond Earth™ at higher frame rates than any other single-GPU graphics card. Gamers looking to secure Mantle's blistering performance for their own empires can do so today with the purchase of an AMD Radeon™ R9 or R7 Series GPU starting at just $99 USD.” – Hilbert Hagedoorn, The Guru of 3D

“Starting at 2560x1440 with the single card configurations, you can see that both the AMD Radeon R9 290X with the Mantle API and the GeForce GTX 980 result in very similar playing experiences including frame rate and smoothness of that frame rate. The R9 290X has an edge of 73 FPS vs 71 FPS on average when using Mantle but with DirectX 11 the R9 290X falls well back into the low 60s. Even better for AMD, the Mantle version has a noticeably higher minimum frame rate.” – Ryan Shrout, PC Perspective

“AMD has the advantage with Firaxis decision to implement a Mantle code path for Beyond Earth and the result is a very solid product; maybe more complete than any other Mantle game to date. In single GPU testing, Mantle is able to bring the R9 290X on to the same performance level as the GTX 980 and in the case of our 4K testing, slightly edge ahead of it.” – Ryan Shrout, PC Perspective
 
Back
Top Bottom