Xbox One GPU Has 8 Graphics Contexts, Uses Multiple GPU Command Streams To Reduce CPU-GPU Latency

Leaked Xbox One SDK document reveals more information about the console's GPU.

Posted By | On 04th, Jan. 2015

xbox one amd

During the Holidays, a hacker group leaked out the Xbox One SDK along with its complete documentation. The documentation revealed a few interesting tidbits such as Microsoft giving a 7th CPU core for developers to use and the different kind of updates such as graphics driver optimization that the Xbox One has received in the past. However it seems there are more details in the documentation, specifically related to the Xbox One’s GPU.

Discovered by a user on Beyond3d forum who pasted text from what seems to be from the SDK documentation, it has been revealed that the Xbox One GPU has eight graphics contexts. For those who are unaware, a graphics context consists of all drawing parameters and information to carry out commands related to drawing. It essentially consists of basic information such as color, width of the line, styling data and other relevant data. The Xbox One allocates seven of such graphics contexts to games.

It was also revealed that the console supports multiple GPU command streams which consists of instructions for rendering and compute. Both commands pass through the GPU simultaneously which allows to have two parallel processes of compute and rendering work, which share the same bandwidth resources. This results into a low latency exchange between GPU and CPU. However we are not sure whether developers can explicitly push one task type ahead of the other or whether the GPU automatically prioritizes the queue elements.

It must be noted that we are not sure whether the PlayStation 4 follows a similar implementation as the Xbox One. It will be rather intriguing to know how the PS4 reduces latency during CPU-GPU exchange.

Moving ahead. The document also revealed about how developers can use command lists and draw bundles to improve CPU performance, however these two methods won’t help much if a game is GPU bound. Both methods are recorded using deferred context. Deferred context is essentially keeping records of graphics commands in a command buffer so that they can be used at some other time as per requirement.

So if a game has already entered in rendering mode, but there are other rendering tasks which can be run parallely, developers can use deferred context using another CPU thread. The commands are then recorded and are executed using immediate rendering later. This same process can be supported multiple times over multiple CPU threads, thereby improving performance.


Amazing Articles You Might Want To Check Out!

Share Your Thoughts Below  (Always follow our comments policy!)



Keep On Reading!

Marvel Rivals Closed Alpha Will Run from May 10-20

Marvel Rivals Closed Alpha Will Run from May 10-20

The hero shooter's closed alpha will feature 19 playable characters, including Hela, Spider-Man, Loki, Punishe...

Resident Evil Dev is Seemingly Working on a New Game Called The Descendants

Resident Evil Dev is Seemingly Working on a New Game Called The Descendants

The resume of an actress that has worked with Capcom in the past mentions a new game called The Descendants su...

Kingdom Hearts 4 Will Launch in 2025 – Rumour

Kingdom Hearts 4 Will Launch in 2025 – Rumour

Next year will see the launch of the next mainline instalment in Square Enix's action RPG franchise, a known l...

Stellar Blade Technical Analysis – An Excellent PS5 Exclusive

Stellar Blade Technical Analysis – An Excellent PS5 Exclusive

Stellar Blade plays like a dream with its mix of Soulslike and, hack and slash combat, but how does it fare on...

Fallout 4 (PS5) Review – War Hasn’t Changed

Fallout 4 (PS5) Review – War Hasn’t Changed

A pleasant return to the end of the world.

Hades 2 Technical Test Ends on April 29th

Hades 2 Technical Test Ends on April 29th

Early access for the hack-and-slash rogue-lite will go live "relatively soon" for PC via Steam and the Epic Ga...