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
ESSENTIAL READING:How Does Split Frame Rendering Work In CIV?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.
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.
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
Learn More: MSAA OverviewAliasing, 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.
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.
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.
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/a...n-beyond-earth