Tech Q&A: Deus Ex: Human Revolution (PC)
As answered by:
Julien Bouvrais (JB)- Director of Technology, Eidos-Montreal
Jean-Francois Dugas (JFD)- Game Director, Deus Ex: Human Revolution
Jurjen Katsman (JK)- Founder and President, Nixxes
- What can you tell me about the AMD Eyefinity and 3DHD features? How do they work? How do they enhance the experience of the game?
JK: With EyeFinity, you can connect multiple screens to your PC and have the game support them all. It is mainly useful in providing peripheral vision to the player, creating a more immersive experience. Your vision is not limited to just the screen straight in front of you, but you also see more on the sides. For example you can see guards coming toward you from each side screen, either when you are walking around or while in cover, so you can react to them more quickly. Another instance is when using the Mark and Track augment you will be able to see marked characters more easily. For stereoscopic 3D, the image is rendered twice, once for each eye. As part of this, we take care of correctly positioning the UI so that it does not look odd in the 3D environment. We provide options for the player to tweak the 3D view so it can be made comfortable for everybody. In terms of what specifically players will notice in the game, the 3D will amplify how the HUD is part of the augmented reality fantasy. Again, true 3D display makes the overall experience more immersive, just like you can see with 3D movies.
JFD: I think Eyefinity creates a unique experience in which you feel surrounded by the gameís world. The immersion is absolute. I surprise myself turning my head, looking at things on the additional screens, and when you have big screens, it's even more impressive, LOL!! The 3D experience is another way to really appreciate the world of Deus Ex: Human Revolution. It feels like objects come alive, everything seems more close to you, like you can touch the world (errr... the game screen!)
- How have AMD features and DirectX 11 supported Deus Ex: Human Revolution?
JB: Both when it comes to DX11 or AMD-specific features we have developed, we wanted to make sure they were adding to the game and not just tacked on without real purpose. Eyefinity and 3D literally bring an extra dimension to playing the game-- the PC depth of field really adds a cinematographic touch to the social interaction with NPCs. Also for SSAO (Screen Space Ambient Occlusion) on PC we use a technique which a bit more expensive than the one we use on consoles as the GPU is powerful enough to support it. This really by anchors every object in the environment, giving them a strong contact shadow. This has a dramatic effect on the cluttering you find in the gameís universe.
- Will the CDC engine support DirectX 11? If yes, what are the technical advantages of that API?
JB: DX11 brings a lot of flexibility in the technique that can be used to render the frame and also guarantees availability of specific hardware pieces in the GPU. One example of this is the hardware tessellation we use throughout the game.
- Do you use advanced features of DirectX 11 like tessellation or compute shaders?
JK: We do use tessellation; this was one of the first features we started making use of with DX11. We mainly used it to improve character silhouettes, but also used it for some other objects in the world. In Deus Ex: Human Revolution you see characters up close a lot as you interact with them, like in dialogues. Using tessellation to improve their look really helps make the world and the characters more believable, which is important in a story-heavy game like Deus Ex: Human Revolution. We used compute shaders to improve the look and performance of some post processing effects. AMD has done some great work in this area as well, which we were able to leverage.
- Was it necessary to reprogram or even add code to the CDC engine? If so what parts were altered and what kind of technical features were integrated into the engine? What were the reasons behind these alterations?
JB: Yes, the major task that was tackled when the project started was to write a dedicated DX11 renderer for PC in the engine to leverage all of the possibilities it offers. We were very keen on making sure we could have those functionalities in the game, so writing this renderer was pretty much a requirement.
- Does the renderer of the CDC engine scale well with multiple GPU settings? If so, please provide details about the benefits players with the Crossfire System will have.
JK: It definitely does. The benefits are quite simple-- you will see much better framerate. It does not necessarily give you a 2x more speed, but we have seen up to a 70% increase so far. It is especially beneficial at high resolutions, for example when running EyeFinity.
- As far as performance in DXHR is concerned, will the engine profit from dual core CPUs?
JB: Yes it will. We have made significant improvements regarding multi-core in the last couple of years and we met much improved performance by doing this on multi CPU architectures. To be honest, this is not necessarily a constraint for just PC, but this is reality for all recent platforms. What makes it difficult for the developers is that the architecture is different from platform to platform and we need to take the time to target those architectures specifically. In the end, we donít have much choice. If we want to have the best performance, we need to take our code design decisions with this in mind. This is pretty much what we did 2 years ago when we re-wrote part of the animation engine specifically to make sure we could afford many NPCs with detailed animations on screen.
- Does the CDC engine scale evenly with more than two cores? If so, what different calculations can be or are split up into different threads, and what is the expected performance gain resulting from two, four or more cores?
JB: It would be unfair to say that if you double the number of CPUs in your PC, you will get double the performance. This scales to a certain extent, but I do expect much of the performance increase to come with bigger GPUs rather than bigger CPUs, especially for those gamers who will play at an extra high resolution on Eyefinity for instance.
JK: Yes, we have a lot of processing that we spread over more than two cores for animation, physics, scene management, etc. So, players will definitely see benefits if they have a GPU that is fast enough.