Last year I wrote a sample application (CityRacer) to support a workshop on graphics performance optimization using the Intel Graphics Performance Analyzer tools. CityRacer came out of the box with some intentional performance problems and their solutions, to be identified and corrected through the course of the workshop.
Since the original sample was released, the Game Technology Development team have created a new cross-platform sample framework, to which I've ported the CityRacer sample. The new framework made it easy for me to add shadows, a feature desired in original the but that I couldn't quite fit in the performance envelope. Shadows make for both a more visually appealing and a more game-representative workload:
With the new framework and the new features, a completely different set of performance optimizations present themselves. In the original, each optimization was controlled by a individual #ifdef compiler directive, requiring the user to re-compile for each optimization step. For the new version the various optimizations are controlled via checkboxes on the user interface. The user can still examine the source code changes for each of the optimizations, but it's no longer mandatory - flipping the checkbox applies the optimization interactively.
The original version focused entirely on frame-rate performance, but this version also recognizes the increasing importance of power management by including a power optimization that can be observed in real time via GPA's System Analyzer tool.
The updated CityRacer source zip file is available for download, below. (Note that this is just a source code update; for the original version including documentation and tutorial, look here: Ivy Bridge Performance Workshop).