DirectX 12-A Game changing interface

AMD Technologies

Modern multi-core and multi-threaded CPU cannot cope up with performance growth of graphic cards.processor core count is increasing day by day and still GPU using same API for its respective graphic architecture, creating the API/Driver overhead,which is a serious problem for new game designers from preventing new games designs to be explored.Developers want a direct hardware access to recover performance lost by previous graphics APIs.

Let’s clear the above sentence “Modern multi-core and multi-threaded CPU cannot cope up with performance growth of graphic cards”,means that your PC might have 2,4 or 8 core processor,but from these number of cores,only one core using by GPU, sounds like limitation.If it is difficult for gamer to play the game with only one core fully functional,think about how hard it will be for game developers to develop the game.multi core processor was invented far years ago,but still facing the problem of how using the full potential of multi-core processors.

Hence,a new graphic API was needed for better use of multi-core processors.

Potential Benefits of DirectX 12

  • Better use of Multi-core CPU
  • More On-Screen detail
  • Higher min/avg/max frame rates
  • Smoother gameplay
  • Efficient use of Graphic Hardware
  • Reduce System Power Draw
  • New DirectX 12 features
directX 11
Command buffer Behavior in DirectX 11

This is a Command buffer’s Behavior in DirectX 11 for 8-core processor.Command buffer means a list of CPU tasks performed while running a game such as lighting,characters,etc.A single Frame rendered in 29 ms,that means it will give 34 frames per second but leaving core 7 and core 8 unused.It only overloads core 1 which creates disproportionate in time.This is “high API Overhead”

 

Command buffer in DirectX 12
Command buffer in DirectX 12

As you can see the improvement in directX 12 performance.All 8-cores are utilized giving the single frame of 15 ms,which will give 66 frames per second.work is distributed across all the cores,creating a Low API Overhead.

  • Multi-core Scaling

Due to use of multi core processors,scaling can be done with the increasing number of cores from 2 to 8.Hence,millions of polygons per second will be created showing more details in game.

  •  polygon Counts

considering the 3D mark benchmark,scene detail at 4k AMD graphic cards can give upto 16X more graphics throughput in DirectX 12,Hence increasing the hardware efficiency of graphic cards.Comparing the A10-7850k APU performance in DirectX 12,it render 3.4 million polygons @same watt where it was rendering 0.5 million polygons @same watt in DirectX 11.

  • GPU pipeline Behavior

GPU pipeline renders tasks in queue such as create shadows,upload data from processor,compress textures,Environment Mapping,Buffer light/material interactions,upload,second lighting pass and physics simulations.Here compute,lighting and memory uses different GPU resources so why they cannot be run together?here lies our answer in DirectX 12,it renders all these above tasks in parallel,render time can be saved latency can be reduced and result in increasing frame rates.

GPU pipeline
GPU pipeline behavior in DirectX 12
  •         Asynchronous Shaders

These next generation graphics API like DirectX 12 and vulkan ,along with AMD hadware supporting asynchronous shaders can fill the gap in between to GPU utilization with useful non-rendering tasks such as physics,skinning,particle simulations and Variable Bit rate.hence these can be add more features to the games using existing graphics tasks without affecting performance and increasing efficiency by performing existing work in parallel with rendering.There are Asynchronous Compute Engines added to AMD Graphic Core Next Architecture to handle workloads.

  • Native Multi-GPU Support

This API direct control the GPU resources in Multi-GPU Configuration.It helps developers to distribute workloads across the GPUs.

  • Split Frame rendering

Multiple GPU are used to render the output which increases frame rates.

In DirectX 11,it uses first GPU to render the even frame rates and second GPU to render the odd frame rates.Hence,there is a formation of queue which increases frame rates and reduces game responsiveness as the frames wait in line.

In DirectX 12,It splits the frame and passes a tile(half screen) to each graphic cards.It no longer requires to be queued.Hence,time between the Frame completion and user viewing reduced.

Hence,these features are used to increase performance in games,rendering videos and animations.

DirectX 12 Ready Games Optimized for AMD

  • Deus Ex: mankind Divided
  1.  Features Tress FX Hair 3.0
  2.  Supports Directx 12
  3. Built with Dawn Engine
  • Ashes of singularity    
  1.  Supports DirectX 12
  2.  MTA Command Buffer Recording
  3.  Supports Mantle
  4.  Built with Nitrous Engine

DirectX 12 is similar to AMD’s Mantle API,but more features are added into this Interface.Both APIs were aimed at lowering the CPU Overhead.But DirectX 12 performance is better than Mantle.

DirectX 12 is really a game changer for AMD,as the source said “Ashes of Singularity” providing 80%  frames improvement on AMD R9 390 graphic card with both Intel Core i3 series and Intel core i7 series.But in case of Nvidia, the performance is good on Directx 11 API, but If You are upgrading to Windows 10 ,there is significant improvement for AMD on DirectX 12 side.

 

 

 

Share with your friendsShare on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPin on PinterestShare on RedditShare on StumbleUpon

7 Thoughts to “DirectX 12-A Game changing interface”

  1. Pretty nice post. I just stumbled upon your weblog and wished to say that I have really enjoyed browsing your
    blog posts. After all I’ll be subscribing to your
    rss feed and I hope you write again very soon!

    my blog post volcano vaporizer weed smell (Marilou)

    1. akashbelekar

      Thanks Marilou…..

  2. I was able to find good information from your blog articles.

    1. akashbelekar

      Thanks @voiture…..
      To keep up with good information
      Stay tuned with my blog….

  3. Once developers start using the DirectX 12 API, we could see the requirement for a multi-core CPU become a standard in games, due to just how incredibly efficient the DirectX 12 API is in using multiple CPU threads. Fact or Fantasy?

    1. akashbelekar

      yes,Dyson…..Developers had already started using directX 12 API for the new games.Also, Multicore CPUs work efficiently using this API.

  4. akashbelekar

    Thank you friend,stay subscribed to see more posts….

Leave a Comment