Initially shown at SIGGRAPH 2014, Intel's Asteroids code sample uses the Microsoft DirectX* 12 graphics API to render a scene of 50,000 fully dynamic and unique asteroids in two modes: maximum performance and maximum power saving. The application can switch between using the DirectX 11 and DirectX 12 APIs at the tap of a button. Get the sample here!
Since both VTune Amplifier and GPA profile the performance of applications, the questions often arises – “Which one do I use in my situation?” The answer to this question leads to better understanding the differences between the two tools. The simple answer is, if it’s a graphics application, start with Graphics Performance Analyzer and then move to VTune Amplifier if your application ends up being CPU bound. If your application is not a graphics application, start with VTune Amplifier’s basic hotspot analysis. Below is a general decision chart to use when profiling a given application for performance.
This sample shows how to implement an explicit multi-adapter application using DirectX 12. Intel’s integrated GPU (iGPU) and a discrete NVIDIA GPU (dGPU) are used to share the workload of ray-tracing a scene. The parallel use of both GPUs allows for an increase in performance and for more complex workloads. This sample uses multiple adapters to render a simple ray-traced scene using a pixel shader. Both adapters render a portion of the scene in parallel.
In DirectX 12, Microsoft reduced resource overhead to improve application efficiency, cutting CPU usage by more than half. This decreases energy consumption and allows gamers a longer play time on mobile devices. Wolfgang Engel of Confetti describes the new resource binding mechanisms that developers will need for managing and tracking resources with DirectX 12.