General performance optimizations

Kjell

Member
I figured I'll make a rundown of my personal performance tips since slaver01 asked me what tweaks I'd recommend for a Ryzen build. Feel free to correct me or share your recommendations if I've missed anything!

General tips

  • Windows 10+: Use Ultimate Performance Plan (powercfg /setactive e9a42b02-d5df-448d-aa00-03f14749eb61), this is supposed to eliminate overhead caused by powersaving features
  • Windows 10+: Enable Game Mode, it made a difference for me when I was CPU bound in my old i7 rig with a lot of background applications
  • Windows 10+: Disable Windows Defender Realtime Protection, only useful if your CPU bound
  • Windows 10+: Make sure to get rid of telemetry such as stepsrecorder and asimov
  • Windows 10+: Remove Metro apps (under Windows Apps in NTLite) which you're not using to decrease the number of background processes
  • Windows 10+: Disable DVR and ingame overlays like Ubisoft Connect's overlay, this caused frame tearing in fullscreen mode with my old i7 build
  • Windows 11: Disable VBS to avoid running programs in virtualized sandboxes which causes a major performance degradation (however, this decreases your security)
  • Disables last access time (fsutil behavior set disablelastaccess 1) which makes I/O performance higher with lower-end HDDs. Using Window's defrag feature occasionally is quite useful too
  • Make sure your motherboard's BIOS are up to date

GPU
  • Overclocking your GPU (with e.g: MSI Afterburner) if your there's thermal headroom and noise levels aren't an issue. Using curve optimizer is what Nvidia recommends but I personally find static overclocking to give me better results. I usually crank up the Power Limit to max and tune Core Clock and Memory Clock frequencies manually
  • Nvidia GPUs: Disable Cuda - Force P2 State in Nvidia Inspector since this powersaving feature makes a noticeable difference with GPUs from 10-series
  • Nvidia GPUs: I personally use NVSlimmer to remove telemetry and features which I don't use to make the drivers lighter
  • Nvidia GPUs: Modded drivers like TweakForce can be beneficial, use at your own risk!
  • Nvidia GPUs: Prefer maximum performance in Nvidia Control Panel
  • Nvidia GSync: Make sure to use the right configuration for your monitor https://blurbusters.com/gsync/gsync101-input-lag-tests-and-settings/14/

CPU
  • Grab the latest microcode updates for your CPU
  • Intel/at your own risk: Disable security mitigations (check https://support.microsoft.com/en-us...bilities-2f965763-00e2-8f98-b632-0d96f30c8c8e)
  • Ryzen: Ryzen Master offers a game mode which can help improve single thread performance
  • Ryzen: Make sure your flck frequency is half the speed of your memory's speed in bios to keep operations synchronous (e.g fclk should be set to 1800MHz with 3600MHz ram)
  • Ryzen: Overclock your CPU with PBO2.0 in your BIOS (or try 1usmus's Hydra software which is the next version of ClockTuner, I personally find it to give me unstable OC though)
  • Ryzen: If your system is freezing randomly during low load, make sure that "Power Supply Idle Control" is set to "Typical Current Idle" instead of "Low"

RAM

My favorite tools for OC
  • Monitoring: HWiNFO64 for WHEA errors and temperature readings. MSI Afterburner Rivatuner for FPS and frame times
  • CPU: Cinabench R23 for single thread and multi thread performance
  • FCLK: Prime64 + Furmark + 4K Youtube video
  • GPU: Unreal Heaven
  • RAM: Aida64 and Memtest86
  • General: OCCT

Things I've seen people recommend which didn't work for me personally
  • Disable HPET in Windows and leave it enabled in BIOS
  • Disable memory compression (Disable-MMAgent -mc), this seems to hurt my throughput
  • Windows 7+: bcdedit /set nx AlwaysOff disables Data Execution Prevention
  • Windows 10+: Disable MPO if you're experiencing flickering while switching between applications (see: https://nvidia.custhelp.com/app/answers/detail/a_id/5157)
  • Windows 10+: Enable Hardware-accelerated GPU scheduling, this actually hurt my performance in older games
  • Windows 10+: Disable fullscreen optimizations, I observed no difference
  • Windows 10+: Give higher priority to Audio and Game processes (see: https://web.archive.org/web/20210901110741/http://n1kobg.blogspot.com/p/blog-page_23.html)
  • Windows 11: Disable CFG (control flow guard), no noticeable difference on my end and this can actually harm your security greatly
 
Last edited:

Clanger

Well-Known Member
Windows 10+: Use Ultimate Performance Plan
this is still somewhat conservative. install power plans from Bitsum and QuickCpu, compare and adjust accordingly.

Disable HPET in Windows and leave it enabled in BIOS.
people are very split on HPET. cannot actually be disabled if you cannot disable it in bios, disabling it in Device Manager does not/may not be enough.

Windows 7+: bcdedit /set nx AlwaysOff disables Data Execution Prevention.
someone posted on this here fairly recently. best left enabled if you system is for online.

Windows 10+: Give higher priority to Audio and Game processes.
dont know about gaming but for audio work/DAW best to use asio or wasapi(may be the better option).
Pro Audio work will usually require low latencies, media players(using foobar etc) people have used higher latencies.

use your own eyes and ears whether something is snake oil or not.
 

Clanger

Well-Known Member
online gaming you gotta be online with all the usual protections you need to protect you and for networking.
offline/air gapped you can be far more brutal with tweaking.
 

Clanger

Well-Known Member
You might not need a pagefile. i havnt had a pagefile in years even on 4gb ram.
i do 8gb minimum for an offline/airgapped machine, 16gb for internet work.
 
Last edited:

Clanger

Well-Known Member
General tips
Windows 10+: Disable Windows Defender Realtime Protection, only useful if your CPU bound
Windows Defender can significantly impact performance on Intel Core 8th, 9th, 10th and 11th Gen, both desktop and mobile CPUs, on both Windows 10 and Windows 11. Here.
 
Last edited:

Hellbovine

Active Member
Posting this tidbit here for anyone following the thread, regarding Power Plans:

I finally got around to exporting and comparing the Ultimate performance power plan versus High performance, and it was dissapointing. Literally only 1 thing changes for AC power (plugged in). All it does is simply change the hard disk idle time to 0, instead of the default 20 minutes...

This completely explains why nobody is showing any differences in benchmarking between those plans.

There are however differences in the DC power (battery), believe it or not the Ultimate performance plan uses lesser performance choices for dozens of settings.

The Ultimate power plan is what's called an "overlay", it's not a real plan. It actually pulls all the default settings from High performance for AC, and then pulls all the default settings from the Balanced plan for DC. It then modifies the hard disk idle timeout, and that's it.

You can easily just change the registry key for the High performance AC plan to have a 0 minute disk idle, and boom, now you have literally the exact same stuff as what the Ultimate plan offers (while plugged in).

About the only usefulness I can see in using the Ultimate plan, is really a rather ironic situation--laptop users (which this plan wasn't created for) can benefit potentially, by enabling Ultimate performance which will give them the speed of High performance while they are plugged into an outlet, but as soon as they unplug and go to battery it essentially puts them on Balanced, until they plug in again.

It was really easy to export the settings and compare, it's kind of annoying that none of these websites out there pushing articles on this new power plan didn't investigate *WHAT* the plan even does, since it's not much.

All the "microlatencies" talk can be translated as "Because the disk no longer turns off after a period of idling, it doesn't introduce latency when it turns back on now, because it never turns off to begin with."

TLDR: the High performance plan is what you want if you want full power all the time, whether on battery or plugged in. Then just adjust whatever other settings you want your High performance plan to have. It's the best "base" plan for performance enthusiasts to build on.
 
Last edited:

Hellbovine

Active Member
Well that's kind of a misleading statement about multi-core, because there isn't any special parking stuff in the Ultimate plan, since the Ultimate plan has no settings of its own (except the disk idle timeout). It only pulls the default settings from the High performance plan and Balanced plan. In other words, the High performance plan is what actually has the core unparking stuff, and the Ultimate plan just copies it over.
 
Last edited:

Hellbovine

Active Member
This is long (TLDR at the bottom), but it's information learned from months of work, and is very useful for tweakers on forums like ours to know about so that we aren't giving out misinformation or adding empty tweaks to our images that may not be doing much of anything:

I finally finished several month's of research, testing, and optimizing of power plans, and learning that entire registry tree inside out. I want to put out some more information that will probably surprise users of 3rd party programs, such as Bitsum. But I wanted to know if they actually knew something that the rest of us didn't, since they seem to take this core parking stuff so seriously and seem to be well educated on it.

I did a clean install of W10 21H2 with no other tweaks, and exported the full default power plan settings for all 3 power plans, plus the newer Ultimate plan, and then also Bitsum's Highest Performance profile included in their ParkControl software, and compared all 5 of them. As of this Windows version here is what everyone needs to know about Ultimate and Bitsum power plans:

1) As stated before in my previous replies to this thread, the Ultimate power plan, for sure does nothing extra at all, except it changes the hard disk timeout to "Never", which can easily be done to any other power plan with just one registry key. This whole power plan has been grossly over-hyped on the internet to comical levels, and it's a perfect example of why we should research and test everything before blindly adding tweaks into our images. Here's how I turn my Windows High Performance plan into the EXACT same thing as Ultimate, by changing the hard-coded power plan default found here:

; Start > Windows System > Control Panel > Power Options > Change plan settings > Change advanced power settings > Hard disk > Turn off hard disk after > Never
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\0012ee47-9041-4b5d-9b77-535fba8b1442\6738e2c4-e8a5-4a42-b16a-e040e769756e\DefaultPowerSchemeValues\8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c]
"ACSettingIndex"=dword:00000000
"DCSettingIndex"=dword:00000000

2) The custom Bitsum Highest Performance power plan is also nothing special at all. In fact, from what I can see the entire ParkControl software is kind of useless to be honest (at least in these newer Windows editions) because by default in W10 21H2 all of the core parking is already disabled in just the regular High Performance plan anyway. Plus, this ParkControl thing runs in the background which consumes resources unnecessarily. Bitsum only copies the Ultimate plan (which copies all of its settings from the High Performance plan) and then adds these minor changes:

; Start > Windows System > Control Panel > Power Options > Change plan settings > Change advanced power settings > Processor power management > Processor performance core parking min cores for Processor Power Efficiency Class 1 > 100%
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\0cc5b647-c1df-4637-891a-dec35c318584\DefaultPowerSchemeValues\8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c]
"ACSettingIndex"=dword:00000064
"DCSettingIndex"=dword:00000064

; Start > Windows System > Control Panel > Power Options > Change plan settings > Change advanced power settings > Processor power management > Minimum processor state > 100%
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\893dee8e-2bef-41e0-89c6-b55d0929964c\DefaultPowerSchemeValues\8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c]
"DCSettingIndex"=dword:00000064

Note: I should clarify more, that the Ultimate power plan and the Bitsum power plan do NOT make these registry changes to the DEFAULT registry key tree, like I do here. Instead, they do essentially the "Current_User" version, as far as Power plan registry keys go. It's kind of hard to explain, unless you're familiar with how these keys work. Anyway, changing the defaults like this is a much cleaner, better way overall since you can integrate it into an image, and it requires no other tools or post-setup anything, thus reducing a lot of steps that people on the forum here are doing while trying to import power plans, etcetera. At some point in the future I'm going to post a full power plan guide with all of the 141 power plan settings for do-it-yourself tweaking.

TLDR: These registry keys I listed here can all be easily integrated into an image (or installed at the desktop) and it will turn the High Performance power plan into the same level of performance as both the Ultimate plan and Bitsum plans combined. Except, with this method here it's cleaner, transparent, and easier to use. The only exception to what I wrote in all this, is that the Ultimate and Bitsum plans both revert back to the "Balanced" power plan settings whenever you are running on battery power, while the High Performance plan does not do this. This means that if pure performance is what you are after even when running on laptop battery, then the High Performance plan is actually significantly faster compared to the Balanced/Ultimate/Bitsum plans. Makes you wonder how many other tools and tweaks aren't doing what people think they are :p
 

garlin

Moderator
Staff member
Note: I should clarify more, that the Ultimate power plan and the Bitsum power plan do NOT make these registry changes to the DEFAULT registry key tree, like I do here. Instead, they do essentially the "Current_User" version, as far as Power plan registry keys go. It's kind of hard to explain, unless you're familiar with how these keys work.
SCHEME_CURRENT, which is the currently active config.
Mods to the default-provided plans aren't permanent, and can be erased by "powercfg -restoredefaultschemes".

Core parking does really help W7.
 

Hellbovine

Active Member
It's probably my mistake for the wording I used, but that powercfg command actually won't reset the keys that I put above. That's what I mean by modifying the hard-coded defaults. I'm changing the default profile of the core power plans. My Windows thinks that my high performance power plan 0 minute timeout for hard disk is truly 0 for the 'default' rather than 20 like it is for everyone else. I ran the powercfg -restoredefaultschemes just to be sure, and it remained the way I modified the plan.

Edit: I'm making changes to the "PowerSettings" tree, which is where all the hard-coded defaults live. 99% of all other tweaks on the internet will modify the "User" tree in the power plans.

You won't see many places on the net that modify it this way, because it's harder to find these kinds of registry keys unless you go looking for them. I did the same thing with all of the \Visual Effects\ registry keys too. Instead of modifying all the Current_User keys and so forth for all that DWM stuff, I instead changed the hard-coded defaults, so for example on the page that says "Let Windows choose what's best for my computer" I have that option checked, and *only* "Smooth edges of screen fonts" checked in the list below. I didn't have to try and mess with the "Custom" stuff, which tries to modify the shell and all sorts of other crazy keys. The benefit here is it not only fixed a Windows bug I was pulling my hair out trying to solve, but it sticks cleanly into an image for all users this way, whereas the other methods didn't fully work.
 
Last edited:

Hellbovine

Active Member
It's a really strange bug, and I found absolutely nobody on Google having the same issue, or at least I'm not using the right search terms...

So this occurs even on a clean install using only the latest W10 21H2 ISO straight from Microsoft. I know it's not related to any NTLite removals or anything like that at least.

What happens is, when I reboot the PC you know how these newer Windows now show the "lock/login" screens? Well I don't use a password, so during a reboot my PC will just flash the lock/login screen wallpaper briefly and then continue loading the desktop.

Well the problem is about 75% of the time the lock/login screen wallpaper will get "stuck" and remain overlayed onto the desktop. If I then move my mouse cursor around it will pixelate the image wherever the mouse cursor is currently at, and then if I want to "fix" the bug I have to right-click and select "refresh" and the stuck wallpaper will finally disappear. It's super annoying.

This ONLY happens AFTER I install my Nvidia graphics driver. I also tried older versions, and even swapped out the card for a different one, and it made no difference. However, this is going to be a bug on Microsoft's side, because the bug is in the DWM stuff.

Well with dumb luck I ended up finding the solution, which fixed it 100%, by editing the hard-coded defaults for DWM, which is not the traditional method that 99.99% of everyone on the internet uses. This seems to directly circumvent the bug in the OS. Everything just feels smoother too, I can't explain it.

My hunch is that it's because these hard-coded default registry keys are also used by other "accounts", you know how we have the other trees, like S-18, S-19, S-20, and so forth. What I do know is that those "accounts" all pull their keys from the hard-coded defaults, rather than the Current_User and other places, which is why I think this works. Anyway, I'm sure some of that is worded incorrectly or just wrong theory, but I'm a layman, and it makes sense to me until someone else can better identify the issue :p

I attached 2 files so you can see what I'm talking about more easily. The "Obsolete" file is all the registry keys I was trying to use. This is how everyone on the internet tweaks that settings page. After pulling my hair out forever, I stumbled across the other registry tree where the true default settings reside, and by editing those and integrating it into my images it not only applies to every user, but to all of those miscellaneous machine/system accounts too. The new registry keys I put inside the attached "New" file. Also, no matter how much time and effort I put into it, some of the "Obsolete" keys just would not stick into an NTLite image for all users, so this new method is just a win/win and all around a better method because of how clunky Microsoft designed that DWM settings page and the keys it manipulates.

The other benefit too, is that the new keys are also all modular, meaning one key changes 1 setting, unlike the "Obsolete" keys which you can see in the reg file is a bit of a convoluted mess the way it was designed in the OS. It's just so much easier to read and tweak with the new settings.
 

Attachments

  • Obsolete.reg
    8.6 KB
  • New.reg
    9.8 KB

Clanger

Well-Known Member
"lock/login" screens blip even when its disabled? yeah i know it.
one bug that busts my breeches is the x-mouse tweak using winaero tweaker. set it to activate a window but not raise it, the windows do raise on occasion. grrrrr
 

Necrosaro

Member
It's a really strange bug, and I found absolutely nobody on Google having the same issue, or at least I'm not using the right search terms...

So this occurs even on a clean install using only the latest W10 21H2 ISO straight from Microsoft. I know it's not related to any NTLite removals or anything like that at least.

What happens is, when I reboot the PC you know how these newer Windows now show the "lock/login" screens? Well I don't use a password, so during a reboot my PC will just flash the lock/login screen wallpaper briefly and then continue loading the desktop.

Well the problem is about 75% of the time the lock/login screen wallpaper will get "stuck" and remain overlayed onto the desktop. If I then move my mouse cursor around it will pixelate the image wherever the mouse cursor is currently at, and then if I want to "fix" the bug I have to right-click and select "refresh" and the stuck wallpaper will finally disappear. It's super annoying.

This ONLY happens AFTER I install my Nvidia graphics driver. I also tried older versions, and even swapped out the card for a different one, and it made no difference. However, this is going to be a bug on Microsoft's side, because the bug is in the DWM stuff.

Well with dumb luck I ended up finding the solution, which fixed it 100%, by editing the hard-coded defaults for DWM, which is not the traditional method that 99.99% of everyone on the internet uses. This seems to directly circumvent the bug in the OS. Everything just feels smoother too, I can't explain it.

My hunch is that it's because these hard-coded default registry keys are also used by other "accounts", you know how we have the other trees, like S-18, S-19, S-20, and so forth. What I do know is that those "accounts" all pull their keys from the hard-coded defaults, rather than the Current_User and other places, which is why I think this works. Anyway, I'm sure some of that is worded incorrectly or just wrong theory, but I'm a layman, and it makes sense to me until someone else can better identify the issue :p

I attached 2 files so you can see what I'm talking about more easily. The "Obsolete" file is all the registry keys I was trying to use. This is how everyone on the internet tweaks that settings page. After pulling my hair out forever, I stumbled across the other registry tree where the true default settings reside, and by editing those and integrating it into my images it not only applies to every user, but to all of those miscellaneous machine/system accounts too. The new registry keys I put inside the attached "New" file. Also, no matter how much time and effort I put into it, some of the "Obsolete" keys just would not stick into an NTLite image for all users, so this new method is just a win/win and all around a better method because of how clunky Microsoft designed that DWM settings page and the keys it manipulates.

The other benefit too, is that the new keys are also all modular, meaning one key changes 1 setting, unlike the "Obsolete" keys which you can see in the reg file is a bit of a convoluted mess the way it was designed in the OS. It's just so much easier to read and tweak with the new settings.
Hmm never had this issue on either 10/11 before and I even have a Nvidia 1070.

Been wanting to upgrade to a 3060 just for the HDMI 2.1 though. Does it happen on both Nvidia and AMD?
 

Hellbovine

Active Member
I never narrowed down which setting fixed it, but after removing the keys in that obsolete.reg file, and replacing them with the ones from new.reg the problem went away entirely, so I didn't spend any time figuring out which one was the culprit since I was just happy to have it fixed. But I would agree it was probably Aero Peek.
 
Top