And who says the CPU Usage in MSI Afterburner is correct?
To explain the situation in more detail:
The legacy time-based usage was determined via internal Microsoft API utilizing ratio between UserMode+KernelMode time spent and IdleTime. This was working since maybe WinXP (or even NT, I don't recall anymore). This was the only metric available for a very long time until something happened later in Windows 10. Some (undocumented) changes happened in some of the internal APIs which resulted in odd reporting of the IdleTime by operating system. During this time MS also introduced the new CPU Utility metric that worked on a quite different principle. The change that happened in IdleTime reporting of some APIs caused a very large difference between Task Manager's Utility reported and the legacy Usage.. During this time, Alex (the author of MSI Afterburner and RTSS) found out that there's an alternate API available to determine IdleTime and when this is combined with the remaining legacy API, the results are much closer to CPU Utility reported by Task Manager. So they switched to this method, which IMO gave results somewhat between the legacy values and the "new" Utility.. But I'm not convinced that this method gives reliable data in all cases and types of load.
HWiNFO applied this "patched" method a couple of versions back, so the CPU Usage reported was somewhat closer to Utility but not same. This however caused loss of the legacy time-based usage which was preferred by some users which still believed this is the right usage. So in v 7.43 and later, this patch was reverted back to show two distinct points of view - fully legacy time-based usage and the "new" CPU utility value.