After making those simple code changes to the Bouncing Sprite source code you will see the dramatic reductions in CPU usage within WPA as well as the CPU idle states achieving lower power usage states (higher CPU idle states are obtained). After recollecting and opening up the new trace in WPA you are also shown the dramtically reduced thread activity, whereas before the rendering thread was coming in every 1ms, now it comes in every 16ms which matches up with the Windows OS TImer Tick Resolution Rate being fixed. You are also shown proof that the FPS is now capped at 60 by seeing the Vsync lines matching up within GPUView.
- View Offline
- [Voiceover] So now that my code changes are in,…I'm going to to select Build, Build Solution,…to build our new optimized version of the game.…Now I'll navigate to the executable file…which is located in…Sprites/BIN/X86/Release.…I'm going to rename it to Bouncing Sprite_Optimized…and create a desktop shortcut…by right-clicking and selecting desktop shortcut.…Now I'll go back to the WPR UI…and reselect the same options from earlier,…the CPU usage, Power usage, and GPU activity.…
I'm going to perform another recording…with the Bouncing Sprite running in full-screen mode…for 60 seconds.…I'm going to click Start.…Remember to have all other applications…that you don't need open, closed.…After 60 seconds,…I'm going back to the WPR UI,…and click Save to save the recording.…Okay, 60 seconds is up.…Click Save.…And here I'm going to put the description…of Bouncing Sprite Low FPS.…And I'll click Save.…And once again, the ETL file will be located…in your Documents\WPR Files directory.…
I'm going to rename that file to something more meaningful,…
With these diagnostic tools and some efficient programming, you can reduce your app's power consumption while improving its response times. In this course, Thomas Pantels introduces a handful of tools used to measure and optimize power consumption. You will see demos on how to use the Intel Power Gadget, Windows Performance Toolkit, TypePerf, and SoC Watch, along with some simple coding tips for making any Windows app more energy efficient.
- Collecting and analyzing power data with Intel Power Gadget
- Implementing a rendering state machine
- Collecting and analyzing data with the Windows Performance Toolkit
- Understanding idle states, call stack walking, and thread activity
- Windows OS Timer Tick Resolution Rate change
- Optimization techniques to make your app power efficient
- Collecting, analyzing, and comparing data with Windows TypePerf and SoC Watch