USC Students Use Intel® Game Development Tools to Increase Game Performance

The University of Southern California’s GamePipe Laboratory is part of the USC Viterbi School of Engineering and one of the leading game development degree programs in the United States. Each academic year, senior undergraduate students and master students from the GamePipe program participate in a cross-discipline collaboration with students in the USC School of Cinematic Arts’ Interactive Media program to deliver faculty-approved projects from concept to a highly polished game.

Tales from the Minus Lab was one of the chosen projects for the 2011‒2012 academic year with development beginning in the Fall of 2011. Minus Lab is a first person adventure/exploration game focused around the player’s ability to change sizes between 6 millimeters and 1.5 meters while remaining in the same environment. Due to the unusual physics precision and implementation required for this mechanic, we identified the need to build a custom game engine that could integrate with Havok Physicsfor the project.

Midway through the project, the team began to notice performance degradation as more assets were added to the game. Utilizing Intel® Graphics Performance Analyzers (Intel® GPA) and Intel® Parallel Studio XE suite of tools, we were able to identify various performance bottlenecks. Based on the analysis of the results, the best improvement that could be done was to split off the rendering step into its own thread and run it asynchronously from the main game update. Through the use of Intel® Threading Building Blocks (Intel® TBB), an average performance increase of 15‒20% was realized across most test systems, with as much as 100% increase on systems that were particularly CPU-bottlenecked. This resulted in a smoother, more responsive experience as the input handling was now processed synchronously with rendering and combined with higher frame rates, which led to a reduction in input lag.

Learn more by downloading the case study pdf below:

Para obter informações mais completas sobre otimizações do compilador, consulte nosso aviso de otimização.