Multicore Performance Challenges for Game Developers

Sponsored Post

Game developers face a unique challenge – how to make their graphics-heavy applications perform well across a very wide spectrum of hardware devices, not just high-end systems.

So while an early version of a game might have been developed on some high-end system with 10 teraflops of CPU potential in a discrete graphics card, how do you scale it down to smaller consumer devices where optimization options are more limited?

In many ways this is a familiar HPC challenge, except game developers need to optimize not just CPU performance, but GPU as well. This challenge gets even more critical as the platform gets smaller, like a tablet or cellphone.

On the CPU side, game developers will look for ways to improve their algorithms, reduce memory allocations, perform low-level optimizations, and enhance parallelization as much as possible.

But the next challenge, optimizing GPU performance, requires powerful tools to enable a game developer to reach the full performance potential of a gaming platform.

For those gaming platforms with Intel® Core™ processors and Intel® HD Graphics, including Intel® architecture-based tablets running the Android* operating system, developers find  Intel® Graphics Performance Analyzers (Intel® GPA) 2017 the tool of choice for visualizing application performance data. Intel Graphics Performance Analyzers enable developers to understand system-level and individual frame performance issues, as well as allowing “what-if” experiments to estimate potential performance gains from optimizations.

With Intel GPA, game developers can test games on various platforms to find the best optimizations for each platform.  Game features, such as detailed terrain or additional interactive game elements, can be switched on or off until an optimal game-playing experience is reached.

Intel GPA is four powerful tools in one box:

  • System Analyzer: Display a high-level performance profile of the game app.
    • View and analyze CPU, GPU, Graphics API, and power metrics in real time to determine if the application is CPU- or GPU-bound. Enables optimization experiments with state overrides to identify potential bottlenecks without recompiling the code
    • Understand the power utilization of an application, which is especially important for mobile platforms.
    • Experiment with graphics pipeline state overrides to perform a high-level iterative analysis of a game without changing a single line of code.
  • Graphics Frame Analyzer: Find the performance bottlenecks in a frame.
    • Explore captured frame data at the API call level to understand their performance impact in the frame during the rendering pipeline.
    • Experiment with API calls and various settings for the entire rendering pipeline to identify, locate, and resolve rendering issues in OpenGL ES and Microsoft DirectX* applications.
    • Analyze all graphics resources and textures used in the frame.
    • Experiment with rendering states, graphics primitive parameters, as well as shaders without recompiling the game code.
    • Analyze pixel history for the application.
  • Platform Analyzer: Watch and interact with the app and threads across CPUs and the GPU.
    • Visualize the execution profile of the various tasks in the code over time.
    • Analyze application-level and system-level performance data, such as thread activity, context switches, Microsoft DirectX* or OpenGL ES API calls.
    • Identify synchronization and load balancing issues and visualize the dynamics of resource sharing for game engines with multiple discrete tasks, such as collision detection and terrain generation.
  • Graphics Trace Analyzer:
    • Like Platform Analyzer, visualize CPU and GPU metrics, capture application and process-level event traces (CPU, GPU, threads, tasks, and application-specific events), and then convert these traces into the viewer format of your choice.

Intel® Graphics Performance Analyzers (Intel® GPA) 2017 provides tools for graphics analysis and optimizations for making games and other graphics-intensive applications run even faster. The tools support the platforms based on the latest generations of Intel® Core™ and Intel Atom™ processor families, for applications developed for  Windows*, Android*, or Ubuntu* OS.

Intel GPA provides a common and integrated user interface for collecting performance data. Using it, you can quickly see performance opportunities in your application, saving time and getting products to market faster.

Download for free Intel ® Graphics Performance Analyzer