Cpu Temp Display In Game

Posted onby admin

On my new Windows 10 desktop I wanted an on-screen display (OSD) of system performance overlay while gaming - similar those benchmarking videos one finds on YouTube. While I don’t overclock my CPU or GPU, I still do want to know the utilization and temperatures, as these give me a hint as to whether the system is thermal throttled or bottlenecked.

Starting from knowing absolutely nothing, I started by trying a few tools recommended by various netizens. I started with MSI Afterburner, but removed it as I don’t like the skins, is missing temperature data for my chipset, and I’d prefer to avoid accidentally blowing up my system!


There are two things you need to do to display CPU temperatures. The first is to right-click on the specific entries that you want to see on your desktop and click “Show in Gadget”. Tip: You can select multiple entries to display at the same time. I'll show you how to easily setup CPU/ GPU monitoring with a couple of really useful programs like MSI afterburner, which can be used with absolutely any gra.

In reality, all I needed was two pieces of free software:

Show Temps In Game

  • RivaTuner Statistics Server (RTSS) 7.3.0 Beta 6, which although is installed with MSI Afterburner, is actually a separate program.
  • HWiNFO64 6.34-4300 which has support for my B550 / Ryzen 5000 combination.

The usual disclaimers - don’t download from untrusted sources, and don’t blindly follow what random stranges say (I am, of course, referring to myself).

There are three ways to setup the OSD, and all of them need RTSS running.

  1. HWiNFO sending data to RTSS, or
  2. RTSS using internal HAL data source (HWiNFO not required), or
  3. RTSS getting data from HWiFO.

In HWiNFO, Config > OSD (RTSS):

  1. Check Enable hotkey for toggling, and set the hotkey, I use Control-Shift-F12
  2. Select the stats you want sent to RTSS, and for each,
    1. Check Show value in OSD and any other options (I like Units in superscript)
    2. Define the Position (Line and Column)
  3. Under the Custom tab, you can rename the elements, e.g. rename GPU Core Load to GPU - just to be consistent with the statistic called CPU which is actually the CPU temperature from the motherboard.

Note that in RTSS, the OverlayEditor.dll should be disabled (more on that later).

EntryLineColumnShow LabelColour
Total CPU Usage11Pink
Physical Memory Used12Pink
CPU (Temperature)13YPink
GPU Core Load21Green
GPU Memory Allocated22Green
GPU (Temperature)23YGreen

When running a DirectX game, hit the hotkey, and you’ll get something like this:

The downside is you don’t have the flexibility to design your own layout. So, on to Option 2...

In RTSS - the left side of the main window will show a list of Application profile properties with Global selected by default. Under that, click Setup:

Navigate to the Plugins tab, check the OverlayEditor.dll (the check mark will darken when chceked), then select it and hit Setup. In the editor:

  1. Click Data Sources > Edit.

  2. Hit Add, and under Internal HAL, check the statistic you want, e.g.

    • CPU usage
    • RAM usage percent
    • GPU1 usage
    • GPU1 memory controller
  3. A couple of data elements are always available, i.e.

    • Framerate (FPS)
    • Frametime (ms)
  4. Back in the editor, click Layers > Add or hit Insert - this adds a new static label with the words Text layer:

  5. Now we change it to display a statistic instead.

    1. Double click the newly inserted Text layer and in the Layer properties dialog:
    2. Hit the + button under Hypertext.
    3. In the dropdown (that says Framerate by default), select what statistic to show, e.g. CPU usage and check Add current value macro, then hit OK
    4. Adjust any other properties like the text colour, background colour and alignment.
  6. Keep adding labels for all the data elements.

  7. Save and close the Overlay editor.

Back in the main RTSS window, make sure Show On-Screen Display option is On. You can also adjust the position of the OSD relative to the corners. In the first screen shot above, I anchor the OSD to the top right corner which is shown in blue, offset by (45, 12) pixels.

Cpu Temp Display In Game

I designed the display to look like this:

Being able to design your own layout is rather sexy, but the internal HAL data source has limitations - it can retrieve the GPU temperature but not my motherboard and CPU temperatures.

So, on to option 3...

This is my preference, and not so complicated once you understand how it works. First off, make sure all the HWiNFOShow value in OSD that we checked previously is unchecked. We don’t want HWiNFO to send data to RTSS.

Instead we want RTSS to get data from HWiNFO, so head back to RTSS, click Setup > Plugins, check the OverlayEditor.dll and hit Setup. In the editor:

  1. Click Data Sources > Edit.
  2. Hit Add, and under HWiNFO64, check the statistic you want. You can use HWiNFO exclusively or mix data sources, e.g. here I use both HWiNFO and the Internal HAL:
  3. Back in the editor, hit Insert to add one layer per statistic to display. Layout everything the way you want it to be displayed, including graphs! To do this:
    1. Double click the newly inserted Text layer and in the Layer properties dialog.
    2. Hit the + button under Hypertext.
    3. In the dropdown (that says Framerate by default), select what statistic to show:
    4. Previously we displayed text by checking Add current value macro, but to display the statistic as a charts, check Add embedded graph instead.
    5. Select use custom template then hit ... to edit the graph properties, e.g. choose a graph style (bar chart, filled area chart or line chart) and set other properties:

By overlaying charts for CPU usage, RAM usage percent and GPU1 usage one on top of the next, I landed up with this:

You can use the menu options to set the z-order (i.e. “bring-to-front” or “send-to-back”) so that in my case, CPU is the top-most, followed by GPU, followed by RAM. The bottom most chart has a semi-transparent purple-ish background color set as well.

To summarize the options:

  • If all you need is simple statistics without temperatures, Option 1. RTSS using internal HAL data source is the most resource efficient, but a bit of work to layout.
  • Option 2. HWiNFO sending data to RTSS is very simple, absolutely no fuss (with fewer options), though it may be less pretty.
  • But, me, I prefer Option 3. RTSS getting data from HWiFO because it gives me a more complete set of statistics, and if you take the time to design the layout, you’ll get graphs to boot!

However, Option 3 does consume the most memory. I did a non-scientific test of RAM usage by RTSS (RTSS, RTSS Encoder Server and RTSS Hooks Loader) and HWiNFO64. Strictly, since the statistics displayed were different, the results are not directly comparable, but for illustration:

OptionRTSS processesHWiNFO64 process
1. Internal HAL7.8 + 1.1 + 2.8 MB
2. HWiNFO sending to RTSS4.4 + 1.1 + 2.8 MB25.3 MB
3. RTSS getting from HWiNFO7.8 + 1.1 + 2.8 MB25.3 MB

Have fun!

The RTSS overlay does not work with some games! More often than not, this applies to on-line games with some form of anti-cheat - if so, best not to use RTSS, lest it triggers a ban. Don’t loose heart, try it with another game.

Msi Afterburner Overlay In Game

Updated 2 Dec: edits for clarity, since a reader informed me he couldn’t find the Plugins in RTSS.

Cpu Temp Display In Game System

Added 13 Dec:

Cpu Temp In Game Overlay

The next post RTSS layout for Cyberpunk 2077 briefly describes my RivaTuner Statistics Server setup to display the framerates.