I searched this forum and couldn't find a guide on how to have both GPU usage and FPS, which is something you can have nowadays with MSI Afterburner, along with CPU usage. I read many threads of people having to Alt-Tab out of a game to go look at the Task Manager CPU usage graphs to figure out if their CPU was bottlenecking the game or not.
Well, there is a simple way to have all three, CPU, GPU and FPS (and many other parameters if you like) on-screen during your games. This is how to do it:
1. Download and install MSI Afterburner if you haven't done so already;
With Afterburner comes RivaTuner OSD Server, a standalone program that Afterburner starts and closes when you close Afterburner. For some reason you don't get to have the FPS on-screen with HWiNFO (see below) if you are running MSI Afterburner, so you need to only have RivaTuner OSD Server running. To do that you have to launch it on its own.
For ease of use you can make a shortcut to it on your desktop.
It is usually located in the following path:
C:\Program Files (x86)\MSI Afterburner\Bundle\OSDServer\RTSS.exe
2. Download and install HWiNFO32 or HWiNFO64, depending on whether your OS is 32-bit or 64-bit. I tried the 32-bit version on Windows 7 64-bit, and, while it does work, the game I tested it with, RAGE, did stutter a bit, so my advice is, if you have a 64-bit OS, install the 64-bit version.
HWiNFO is a very nice program that has two functions: it acts as a CPU-Z + GPU-Z + storage information type of program, with a nice System Summary that combines the information in a very convenient way (it also has a more conventional style of presenting more information when you close that window), along with a full array of sensor readings.
When the program starts you get to choose to go directly to, and only to, the sensors part of the program, which is what we need in this case, so check that box to make it faster:
Now, as you can see, there is a full array of sensors and measurements:
Although HWiNFO is showing all the parameters' readings, you can choose to monitor the ones you want by right-clicking on each item and selecting Enable or Disable Monitoring - that is the difference between the items with a red cross and the ones with a clock: the ones with the clock can be then logged to a file by clicking on the "Logging Start" button at the bottom.
You also have to enable monitoring on the ones you want to be shown in the OSD in-game.
To tell the program which readings to send to RivaTuner's OSD Server, you need to click on the "Configure" button at the bottom. BUT, before you do this, you must run the RivaTuner OSD Server program, otherwise it will show as "Not available" and the checkboxes will be grayed out.
Now that you have RivaTuner's OSD server running you can finally click on the "Configure" button and select what you want displayed in-game. Don't forget to choose the line in which you want the information displayed.
I have selected Core #0 - #3 usage on the first line, and then GPU Core Load and GPU Memory Allocated on the second line; the FPS will be shown on Line 3. The FPS will always be the last information displayed, as it is provided by the RivaTuner OSD Server (make sure "Show own statistics" option is ON in the OSD Server). This is how it looks:
I chose to monitor each CPU core individually instead of the Total CPU Usage for a simple reason - Total CPU Usage is a false indicative of whether your CPU is bottlenecking the GPU. In games like Crysis for example, the game engine, although capable of using four cores, is optimized for two cores, so when one or two cores reach the 90%s utilization, your GPU will be bottlenecked and your frames will drop, even if your other CPU cores are well below 50% usage.
If after checking your CPU usage you encounter one of two scenarios: one or two cores (in the case of quad cores where the game is optimized for two cores) are at 100% and your framerates and GPU usage drop when it does that, or if all cores are at 100% and your framerates and GPU usage drop likewise, you should try overclocking your CPU and see if it makes a difference. If the framerates and GPU usage increase, then you have a CPU bottleneck.
Of course, there may be other bottlenecks in your system, like your storage and / or memory subsystem or Internet connection and / or the lag to the server you're connected to in multiplayer games. It can also be a memory leak in the game that leads to seemingly unexplainable frame drops, or the simple fact that the game's executable is 32-bit and is not Large Adress Aware and so has to constantly shift data from disk to RAM if in reality it needs more than 2 GB of RAM to work smoothly at the settings you are running it.
Well, there is a simple way to have all three, CPU, GPU and FPS (and many other parameters if you like) on-screen during your games. This is how to do it:
1. Download and install MSI Afterburner if you haven't done so already;
With Afterburner comes RivaTuner OSD Server, a standalone program that Afterburner starts and closes when you close Afterburner. For some reason you don't get to have the FPS on-screen with HWiNFO (see below) if you are running MSI Afterburner, so you need to only have RivaTuner OSD Server running. To do that you have to launch it on its own.
For ease of use you can make a shortcut to it on your desktop.
It is usually located in the following path:
C:\Program Files (x86)\MSI Afterburner\Bundle\OSDServer\RTSS.exe
2. Download and install HWiNFO32 or HWiNFO64, depending on whether your OS is 32-bit or 64-bit. I tried the 32-bit version on Windows 7 64-bit, and, while it does work, the game I tested it with, RAGE, did stutter a bit, so my advice is, if you have a 64-bit OS, install the 64-bit version.
HWiNFO is a very nice program that has two functions: it acts as a CPU-Z + GPU-Z + storage information type of program, with a nice System Summary that combines the information in a very convenient way (it also has a more conventional style of presenting more information when you close that window), along with a full array of sensor readings.
When the program starts you get to choose to go directly to, and only to, the sensors part of the program, which is what we need in this case, so check that box to make it faster:
Now, as you can see, there is a full array of sensors and measurements:
Although HWiNFO is showing all the parameters' readings, you can choose to monitor the ones you want by right-clicking on each item and selecting Enable or Disable Monitoring - that is the difference between the items with a red cross and the ones with a clock: the ones with the clock can be then logged to a file by clicking on the "Logging Start" button at the bottom.
You also have to enable monitoring on the ones you want to be shown in the OSD in-game.
To tell the program which readings to send to RivaTuner's OSD Server, you need to click on the "Configure" button at the bottom. BUT, before you do this, you must run the RivaTuner OSD Server program, otherwise it will show as "Not available" and the checkboxes will be grayed out.
Now that you have RivaTuner's OSD server running you can finally click on the "Configure" button and select what you want displayed in-game. Don't forget to choose the line in which you want the information displayed.
I have selected Core #0 - #3 usage on the first line, and then GPU Core Load and GPU Memory Allocated on the second line; the FPS will be shown on Line 3. The FPS will always be the last information displayed, as it is provided by the RivaTuner OSD Server (make sure "Show own statistics" option is ON in the OSD Server). This is how it looks:
I chose to monitor each CPU core individually instead of the Total CPU Usage for a simple reason - Total CPU Usage is a false indicative of whether your CPU is bottlenecking the GPU. In games like Crysis for example, the game engine, although capable of using four cores, is optimized for two cores, so when one or two cores reach the 90%s utilization, your GPU will be bottlenecked and your frames will drop, even if your other CPU cores are well below 50% usage.
If after checking your CPU usage you encounter one of two scenarios: one or two cores (in the case of quad cores where the game is optimized for two cores) are at 100% and your framerates and GPU usage drop when it does that, or if all cores are at 100% and your framerates and GPU usage drop likewise, you should try overclocking your CPU and see if it makes a difference. If the framerates and GPU usage increase, then you have a CPU bottleneck.
Of course, there may be other bottlenecks in your system, like your storage and / or memory subsystem or Internet connection and / or the lag to the server you're connected to in multiplayer games. It can also be a memory leak in the game that leads to seemingly unexplainable frame drops, or the simple fact that the game's executable is 32-bit and is not Large Adress Aware and so has to constantly shift data from disk to RAM if in reality it needs more than 2 GB of RAM to work smoothly at the settings you are running it.