Showing posts with label FPS. Show all posts
Showing posts with label FPS. Show all posts

Monday 13 August 2018

REAL PERFORMANCE GUIDE

FPS GAMING

Online Gaming Tweaks

 REAL PERFORMANCE GUIDE
For Enthusiasts & Competitive Gamers

(This article is being updated occasionally so it could be little different the next time you read it).
This is the first thing you should do if you want to revert any changes!

How to make a System Restore Point :
(System Protection)
do it every time you make changes to Windows

 You can type "SystemPropertiesProtection" in Searchbar, Run, even in Win.Explorer address bar. Then press "Create..." & type anything to name the Restore Point, the press Create button to save.If Restore is not Enabled, just select your C: (System) drive, click on "Configure" and 
"Turn on System Protection". With the slider below you choose how much space on your Disk will be used for that. If you want to go back to your old settings click on "System Restore ..." & choose "Undo System Restore" or "Choose some of the System Restore Points you saved".

If someone tells you to disable System Restore, just slap him in the face.
If they tell you its inconsistent & you can lose files, tell them there is a reason why there are dates & hours on every saved restore point & to learn how to use it. 
 This feature does NOT use extra resources, the services it needs start only when you use it & stop after that. This is the fastest way to revert a change or fix a problem.

I get triggered when someone says that "Restore Point doesnt work" every time. You just simply dont know how to use it, bruh (provided you didnt broke it before that). I never EVER had a problem with Restore Point & I have used it ever since they implemented it. 

If you copied a file that is copied after you made the restore point - Of course, you wont see that file after revert a Restore Point. On some older Win10 versions you have to enable it manually. If you wanna work for every disk or a particular/certain disk, just enable Restore Point on that disk/partition too. Just watch the dates & what time of the day you created the Restore Point.

For ex.: If you create a Batch (.bat) file in 14:00 & create a Restore point in 14:05 o'clock, later make an edit to the same file in 14:15 o'clock & sometimes later You decide to use the Restore Point to go back/revert some changes - that file will go back to the state when was saved in 14:05 o'clock (the time the Restore Point was created). With that said this is just an example to show how it works in general but the latest implementations of System Restore Point are & will becomming smarter so with such small time intervals files might still be saved. 

====================================================================================
The sections with "*are the important parts. Everything else is just a filler.
====================================================================================

INTRO
(You Can Skip It)

(If you want just to copy/paste step by step someone else's vague settings who can't even explain why you have to do the tweak he's talking about you got the wrong place. But If you actually want to learn something keep reading. The different coloring is to get your attention, not to look pretty)

Disclaimer: This is not a step-by-step guide, its focus is information & explaining how certain features & processes (Windows in general) work. There are general optimization tips as well. This is about improving & customizing your Windows. Its for thinking people who wanna use their heads. You can make your own tests to see the difference but I'm telling you right now the majority of the tweaks mostly disables Telemetry, improves latency & input lag, dont rely on the usual average FPS counter on the screen. You can have a boost in Min. FPS & 1% & 0.1% loads, depending on your hardware but do not expect your computer suddenly starts hitting 600+fps on Ultra. This is not realistic. That's why it's called optimization, not a miracle (Sometimes you can have a few FPS less but lower latency so a couple more FPS doesnt always mean you get better performance). If you want a faster PC, buy a new one. If you want to improve your system, hit-reg and maybe learn something & fix some issues along the way please keep reading. Otherwise, fuck off. 
Im not telling you that u have to use everything written on this blog. You can choose for yourself what you want to use. 

Second Link:
https://discord.gg/yeVUxEutSu

If You Learned Something & Want to Support My Work Please Consider Donating Or Becoming a Patreon. This Means You Appreciate My Content!


This Will Give Me The Incentive To Continue My Work & More Free Time Testing New Tweaks & Ways To Implement Them Or Allow Me To Test New PC Parts & Features.

====================================================================================

Link to my BFV page: Tweaks & relevant stuff. 
I'm updating it when I have something new.

Get Admin Rights
You will need Full Admin Rights to be able to make the changes.

====================================================================================
"*"means "important"
I use most of the tweaks on fresh Windows installation or after Win Update. They are for people who want the best possible performance.  Plus you need to know what you doing so when a problem appears you won't freak out and be able to fix it. Windows pre-installation is not The Fix for everything + it takes way more time than a repair command or Restore Point for ex. Thats why is useful to keep Restore Point enabled. People who disable it dont dont how it works. It doesnt take any performance, only some disk space & you can control how much.

This won't be a short one. So I suggest you take your time and read it bit by bit. I decided to gather some of the tweaks from my blog in one post and expand from there. Its a lot to read & a ton of tweaks but you don't need to read all at once.  Some people get confused what's where and when to do it so I added some points for reference BUT thats not a Step-by-Step guide.


1. Uninstall or disable Windows Apps & Windows Store (if  you dont use).
2. Disable Cortana- Thats telemetry & causes privacy issues, also you can disable search indexing but this is just for general optimization, nothing to do with gaming these days. Disable also Defender (if u know what u doing you dont need Anti-Virus program), Maintenance, Security Center, maybe Task Scheduler (you might need it for programs like GeForce Experience). If you use Searchbar, just get 3rd party StartMenu, they all have one and are miles better than Windows10/11 Start Menu.
3. Disable Telemetry, Privacy & Data Collection (including through HOSTS file). 
4. Turn Off Windows Features & Disable Services you don't need.
5. Performance & Hit-Reg Tweaks-Registry, Commands ect.-This is HUGE topic by itself.
6. Unlock the CPU Power Settings in Power Options Menu & Unpark your CPU. If you OC your CPU that has less importance but its still important.
7. Use G-Booster (or the newer GPU Booster) every time when gaming + OC your system.
If you have a laptop use ThrottleStop, Quick CPU or Extreme Tuning Utility. Undervolt.

There will be also older tweaks for the different Windows 7, 8 & 10 versions. We still gonna disable the Telemetry to reduce the background workload & processes but this time more than a few Telemetry & Privacy settings, not just what Microsoft allows and gives you as options.

There are articles telling you how certain tweak is bad or have no benefit and shows you some benchmark or other tests. The thing is there are tweaks that are hard to be measured with benchmarks or they just use the wrong one. That doesn't mean there is no benefit. Also Ive seen smart people recommend "Best" settings & provide their own tests but when you see the recommendations are for lower interrupts. More interrupts mean the CPU is 
processing more data. More interrupts can be a problem only if the CPU cant handle them. So be aware when someone say these are the "Best" settings. My Best settings are for lower input lag. They have to be paired with the respective BIOS settings.

Everything internet related is for Cable Internet, not Wireless.
Don't use the internet tweaks if you have Wireless Connection.

When I talk I'm gonna assume you know certain things and have some level of knowledge on the topic. Please, share this tutorial only with people who actually need it and want to learn. I don't make this for views. You can skip ahead if you don't want to read my "rumblings" but there is a lot of useful information if you are interested.

Most of the time Security is made at the expense of performance. So in order to increase the performance, we need to reduce the security-keep that in mind. The good thing is we don't need security when gaming. Use a separate Windows only for Gaming and a second Windows installation if you use credit cards or bank accounts online.

Best Windows10 versions are 1709, 1809, 20H2. I consider 20H2 for the last true Win10 version. After that came the early Win11 builds (doesnt matter it says Win10). Unfortunately through Win.Updates some changes in the latest Win. versions are implemented in all other supported Windows versions, including the latest 20h2 builds-keep that in mind. I recommend 20h2 build 19042.681 (if i remember correctly). BTW there is a tweak to be able to use games like Warzone 2 in 20H2 if you use that build. 

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "UBR" /t REG_DWORD /d "789" /f

I can recommend RevisionOS-this is a custom Windows, optimized & stripped from bloatware and other unnecessary features. For more info check the link:

First of all, use offline account in Windows 8 & 10. Why? Because I said so :) Seriously it uses fewer services & its less restrictive. v.1709 is lighter and easy to tweak & is better for gaming than v1803, v1809 & v1903. v1803 was Updated for Spectre & Meltdown which slows the performance (although you can disable them in the registry), v.1809 have issues from the beginning but now is in a good state & you have to have it if you want to use RayTracing. v1903 is still not worthed, its "improved" v1809 but have kernel spikes. v.2004 is more promising with its Hardware-accelerated GPU scheduling & Dx12 Ultimate Update but still has some problems with the kernel. It seems that every new version Microsoft adds more & more bloatware, features & tasks that hurts the latency. Delete programs & drivers you don't use & disable Telemetry (this is a vast topic btw). Defragment your hard disk (trim if SSD) & your Registry at least once per week (it helps with old Hard Disks). For normal Hard Disks regular Registry, Page File & MFT Defragmenting gives you a noticeable boost when loading Windows or a program. Dont defrag SSDs. Windows defrag tool will detect SSD and will only trim it, you can do this from time to time. Always have enough free space on your Windows Drive (minimum 15-25%). SSDs need more free space to operate optimally & have a longer life. BTW larger capacity SSDs are faster, in general. And since we are on the topic here's how to improve your Hard Disk speed. It's called Short Stroking. No, not that kind of stroking you dirty little monkey :)



After that install Windows on it (or your games if you have already Windows on SSD) and use the slow partition as little as possible - only for storage for example. Reinstall Windows every few months (I would say 8-10, a year max) because Windows is not Linux and it degrades over time. Of course, that's a suggestion, not a rule, Win10 is more robust than older versions & we now use SSDs that mitigate the problem. Also by disabling Win.Updates, Defender & other Telemetry & Data logging you decrease the chance to bloat your disk even further. That's why you need to clean Disk & Registry from time to time on mechanical drives. Usually Windows does these things automatically but tweakers disable these features.

Do Not Use 12gb RAM On DDR4 Systems. It Cripples The Performance.

That forces Windows to use Flex Mode & can be even worse than using only 8Gb of RAM. The only reason to use is if you dont have enough RAM when gaming. Four sticks of the same RAM will act like dual-ranked and can give you the same or more performance on a lower RAM OC.  4 sticks are harder to OC but you can have better performance, especially in CPU-demanding games. These are the  types of memory modes on Desktop. Servers can have more channels: 

Single-channel, Dual-channel, Tripple-channel, Quad-channel & Flex Mode.

About page file. I recommend most users to leave it by default since this tweak have a marginal performance impact. Still, If you want to tweak it & have 16gb of RAM or more you can disable Page File for older Windows versions or leave a small size (300-1000mb) in Windows 10. Also disable memory dump files if you don't use them (with this disabled you can even go with disabling pagefile completely but some programs might not work properly if there is no page file. This forces Windows to store the files in the RAM which is way faster than any SSD, that doesnt mean you will see better performance though (old/slow system maybe). That's needed if you have slow Hard Disk & 16GB+ RAM. If you have 2 Hard Disks put the page file to the one without the installed Windows. For 1 SSD & 1 Hard Disk (or more) - page file on SSD.  Keep in mind bigger/larger free space could increase some SSDs lifespan.

If you have a lot of Page Faults (up to a few 1000s page faults/second is normal) you might wanna increase the pagefile size. That might be a sign that your 
RAM is not enough & the system is using your pagefile too often which could slow down performance since its using the slower SSD/HDD.

Update your drivers when playing a new game. You need all the latest drivers for brand new systems (you could use old drivers but you wouldn't have special optimizations for your PC or the game & some games might not start without updating the video drivers). If you have an old/older system I recommend updating only the critical drivers because in many cases drivers are not optimized for your system and could have issues or even worse performance (video drivers for ex.). Its unrelated but know that sometimes you can have a bad driver update which could ruin your gaming experience causing delays, stuttering and other bad shit. I would stay away from Intel® Management Engine Driver. Its usually confused with Chipset on Intel CPUs which is safe to use & its a few MB in size, unlike the big ME drivers. (You need Intel ME if you want to use Intel® XTUyour motherboard CPU OC programs. You can Disable & Enable Intel ME from Device Manager but it causes slight/minor delay when enabled. Its used for mitigation. BIOS OC is better though). 

*Turn off any software in the background while gaming, disable Maintenance. Disable all sound enhancements and lower the sample rate to CD Quality (or lower if you can - 32000hz is a good choice if you have slow CPU). Some ppl say to leave the 44100hz or 48000hz because thats the default in most games & downsampling will use more CPU. I dont know about that. One thing is certain - higher frequencies will give you better audio quality & can help for footsteps in some FPS games (I wouldn't use higher than 4800hz though). Play on High or Ultimate Performance Power Plan (don't listen to those who tell you Ultimate is the worse performance, they don't know what benchmark to use in the first place but apparently know better than Microsoft). Ultimate will use more power. Most ppl use a custom Power plan which also unparks the CPU which is important on older Windows 7 & 8. Set the Game on High Priority or Realtime from Task Manager. Remove CPU cores from Set Affinity to background programs you can't stop or use. Also on Win7 & I think Win8 you can lower the color quality. You can use Bitsum Process Lasso too. It's like Windows Task Manager on steroids. It also imports a custom Windows Power Plan called Bitsum Highest Performance. 

Bitsum Process Lasso
Real-Time PC Optimization Tool
ParkControl


*Privacy & Optimization Apps

 These programs allow you to control critical system settings along with some Windows privacy and telemetry. Use 1 of them or 1 by 1 & restart PC after every time. I don't recommend to use all, 2, 3 at most but Restore Point before & after every program you use. Don't skip that. We do this because after Windows Update many options are being enabled again. That way some options will stay disabled. That means you have to be sure you disable only setting you won't use. You also can use my Telemetry Stop tool after you are done with the programs. It has more tweaks than some of these programs below. W10Privacy is a powerful but dangerous program so be careful. Use it only if you know what you're doing. WPD, Shutup10, AntiSpy are lighter and better for inexperienced people. There are more similar programs but these are enough.

O&O Shutup10

WPD

Ashampoo AntiSpy

W10Privacy 
(use carefully. It can ruin your Windows. Make System Restore Point manually before using it. Only for advanced users)

Disclaimer: Your Anti-Virus most likely will show some apps as false-positive. The file will show as some kind of virus or trojan but that's because of the nature of the programs. Its a false-positive. That's common for many portable programs. So don't worry. 
But if you use them they will free system resources, reduce used background bandwidth & help improve overall latency. Just create s Restore Point before that & don't blame me if you fucked up something or have issues. If you do this by the book you have to be able to reverse every change you make to your Windows. 

You can disable various Windows features with Group Policy Editor. Type gpedit.msc in RUN or Search.

In Group Policy Editor - Computer Configuration Administrative Templates > Windows Components - there are the whole bunch of options you should disable along with Windows Defender ones. You also can disable Cortana from Group Policy Editor. Windows Home users don't have a Group Policy Editor but I got you covered ;) They can install it. Enjoy :)
====================================================================================
*Disable Windows Services

There are a lot of tools these days you can choose to disable Services & Defender. You dont want any Antivirus Software enabled when gaming.  

Windows 10 Game Mode

You can use Windows Gaming Mode. It optimizes the Universal Windows Platform (UWP) part of Windows. Windows Game Mode used to prioritize the system resources to the game you play to get the best possible performance but it caused stutters at the beginning so they reworked it & changed the way it works. It could improve latency & has a small FPS boost on slower PCs.
*My GamingMode 
The latest improved version is integrated in "GPU BOOSTER"

It temporarily frees system resources by disabling many of the services you dont need for gaming, raising priority, optimizes the memory, switch to High Performance. Disabled Services will start as normal after PC restart. So the app will reduce CPU, internet & RAM usageThere is no window, it runs in the background for about 20 sec (it's much faster in G-Booster, 2-3 sec). Run it as Administrator, you can check Services in Task Manager to see which services are being disabled. Few new services are not included in this version but you can disable them manually from Task Manager after running my GameMode. 100% safe & working. I make these tools for me & try to include useful tweaks & what I want from such a program. Otherwise, there is no point in creating them, I'll just download something from the internet.

Some people think if they have enough RAM its ok to leave services enabled. That's not true. They can slow down the system, especially on 4 core CPUs when you use 85-100%. Even if you have 16 threads this can slow down the responsiveness. Windows Defender is a good example for slowing your PC in games or benchmarks. For casual gamers that's not a big problem but if you want better performance that's a must.

 Don't disable a service you actually use. This is different for every user. If you use bluetooth for ex. don't disable Bluetooth Support Service. The trick is not to blindly disable everything you can but to know what causes a problem & fix it and leave those which doesn't have performance hit or might use someday.

*SERVICE_OPTIMIZATION

Disable everything you dont use. Thats one of the first things you have to do when installing new Windows. Its kinda one of the most important things to do. It will improve the latency in general. Dont forget the drivers too. You can disable some drivers with Device Manager. 

How to disable a service example command:

Reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\stisvc" /v "Start" /t REG_DWORD /d "4" /f

No need to keep 1 command 50 times so made some cleaning in this part. Performance booster disables the services & some drivers, along with other PC Optimizations. 

====================================================================================

*Hit-Reg Optimizations:
The biggest impact on hit-reg is your internet connection & distance to the server.
update
"Let’s start with the main cause of lag. When you are put on a server far away, you will experience more lag. It’s just like real life – the further you have to travel the longer it takes. Games are no different. What’s worse, other players in the game who are located nearer the server will have an advantage over you as their Gaming experience will be much more responsive."


Another explanation by a Hunt: Showdown developers. Its a must-read if you want to understand whats going on when you play online games. Dedicated servers are the fastest & most reliable way for online FPS Shooters.

"Though the internet is fast, it isn't instant, so when your client (PC) sends to the server a message ''telling it'' that you've just pulled the trigger on your enemy, that message isn't instant. This delay is typically called network latency, and it is measured in milliseconds.

Your ping, which you can measure via your game performance stats, is the amount of time a message takes to go from your client to the server, and then back to your client,.

This latency—which is caused by ISP infrastructure, distance, hardware connection quality, and other factors—is not a problem that any game can solve. It's something that all game development teams have to account for, and there are different strategies for minimizing its impact. Hunt is no different.

When it comes to the issue of correctly registering gunshots and hits (player vs player), latency affects your game as follows:

1. Because of network latency on your local machine, you never see the current state of the world. If a message from the server takes 40 milliseconds to arrive, you are seeing what the game world looked like 40 milliseconds ago.
2. When you move or press the trigger of your gun, a message from your client has to be sent to the server, then the server has to process your input, apply it to your character, and send it back to you before you can see the result of that shot. Factoring in the delay on both sides, this could result in an up to 80+ millisecond delay.

If we didn't do anything to mitigate this, the game would feel like it had input lag: the bigger the ping, the bigger the lag.

To keep the game responsive despite this, we use a client-side prediction system. This system allows you to take action in your local game client and see the results immediately by making a prediction about what happened. When the server response arrives, the system checks whether what you did locally matches what happened on the server. If it doesn't match, the system reconciles your local client to the server's version of events.

This system creates an interesting problem: You are being allowed to move and act instantly while seeing a “past" representation of the game world. Yet, it is as if your character is acting in the “future", since the server has not yet received and integrated your response into the big picture.

Well, the problem is that when you are aiming your gun at a Hunter, they are, technically, not actually there. You are seeing where that Hunter was 40 milliseconds ago, in relation to the server. For the person playing that other Hunter—since his client is allowing him to predicatively move ahead of the server too—the Hunter might be farther away from the spot where you are aiming."

This shows some of the variables the game has to calculate in Realtime. Thats why some players shoot slightly ahead of the running enemy - to compensate for it. They might dont know how it works but they feel it & subconsciously try to compensate the difference b/w the Server-side & the Client-side.



They say: "Well, I played in US servers and I still dominate" - The thing is they play vs noobs. US has inconsistent connection depending on the region but in East US (where EU players play) thats not an issue. The moment when they meet a good US player they think he's cheating because they havent experienced it & dont know what a real lag looks like.


This is something i try to explain to many players who live in West Europe, where the Data Centers are located and they live few 100 km away from the Servers (or less). Some think they have Hit-Reg issues but with their 1-20 ping connection they don't know what is a real Hit-Registration problem, many think it's enough just to be a good player with good aim but that's because they don't know better & don't have enough experience and knowledge how networking works.
They don't believe the distance affects the connection performance (and that's only one of the problems along with the connection routes and the quality of the physical wires, 
signal conversion & performance of the switches, routers & repeaters along the way, which have to process the data. Also the location and number of the HOPs along the way & the latency increases with each HOP, as well as whether the route itself is optimal or not). The internet signal is not traveling in straight line guys. Fiber is best but it doesn't mean that you have optic cables all the way to the server. Maybe for players in West Eu (Most/Best EU servers are in Germany) but not for players who live on the other side of the fucking continent or Asia & Africa. Many West Asian & North African players use Eu servers. Of course you can artificially make yourself lag in game to improve your Hit-Reg but that means bad experience for other players, including in your team. Its also a sort of "legal cheating".

Sometimes High-ping players can also have extremely good hit-reg as well, it depends on multiple factors. Its a complicated 
topic. For ex. if the route cables are underwater means they are mostly straight line - shorter cable length compared to the same distance on land (without outside interference to degrade the signal quality, like on land). In result, faster & more consistent connection despite the distance. Network Cable Route underwater can be much shorter compared to that on the ground because it has less obstacles like the ones I mention above. The game engine also has lag compensation mechanism as you will see in the CS:GO video below. There are other reasons like using VPN (u can have lower or higher ping but good hit-reg) or DDOSing the server. They confuse the game lag Compensation & that gives them an advantage- they are harder to hit (sponge). If they move constantly they are harder to hit.

This is probably the #2 reason why people say the hit-reg sucks. #1 is the Internet Connection. Especially when play vs low ping players (provided both players are good).

Lag Compensation: Online gaming consists of gaming server and a client (
your PC), they communicate constantly but it takes time for the information to reach Server. That time is different for every player & it depends on many variables but most important are your System Latency, connection, signal integrity, his location/distance & path to the Server (there are more but I try to keep it simple). What you see on your monitor is not the enemy's real location. All that matters is where the Server "sees" you. The game is trying to compensate for the Client to Server update delay. Without it the game will look like a slideshow. The Hunt devs call that client-side prediction system. So the gaming server sends the most recent update (your real location on the map is in the server) to the client but thats not fast enough & the game tries to "guess" your most recent location (and all players in the server). The enemy you see is not his real location on the server. This is a prediction & its happening in all online games in Real-Time. Watch the video below. 
 
So in short:
Hit-Reg depends on the Ping,  the Client (Your PC), Distance to the server, the route itself, the number & performance of the routers, switches & servers, your home router, Game Lag Compensation, the System Latency (including the mouse, monitor, even as crazy as your distance to the monitor. Now u know why some Pro Players are glued to the panel on 20-40cm). Even the speed & the direction at which the enemy player runs affects the Hit-Reg - Yeah :)


The things that benefit the hit-reg the most are CPU, GPU & RAM speed + timings. CPU cache (uncore) & vRAM improve responsiveness. Overclocking lowers the System Latency. Also if you dont use wi-fi & your ISP technology allows it - skip the router and put the cable directly to the PC. Trust me, if you dont have a router u skip extra processing & removing it or get a better one is the ONLY way to reduce ping from your PC (although not guaranteed its 1-3ms less). With no router, your ping is more stable and not spiking up & down as much. Every router adds a delay on top of your ping, good ones just add a smaller delay but it's still there. Also if you have a poor connection using a certain VPN (not just anyone) can lower your ping in some circumstances & improve your Hit-Reg. But that's a custom case & it's highly dependable on your location, your ISP, VPN & the game you play. Lower System Latency and your reactions can compensate when playing vs similar to your skill player who has the same or slightly lower ping. There is also game lag compensation but thats unpredictable. Then some higher ping players can have an advantage over you. VPN or inconsistent connection can also take advantage of the lag compensation & get an unfair advantage.


*Intel Recommendations:

Go on Properties then Advanced


The idea is to disable everything you don't need & use to free processing power and reduce the workload so the packets to travel as efficiently and fast as possible. 

 You can uncheck almost all options except IPv4. If no one else but you is using your internet connection - Disable QoS Packet Scheduler too (QoS depends whether you have other devices & programs in the back when gaming. You also should check what are your Router Settings. They need to be the same/in sync with Windows settings). But if someone else is using the connection or use other programs that use internet when gaming, you can try Checked. Or uncheck it & consider using cfosspeed or a similar program to prioritize the game. Some good routers have extended priority options. In that case you don't need the programs.


If you are a Home user you don't need IPv6 except if your connection uses IPv6-but that's rare on Home users, you can check it on Ethernet Status window after you go on Ethernet. After that hit OK. Then go back here and click CONFIGURE.

Go on Advanced
Your driver may look different but the settings are the same with small exceptions



*The ones with red * are mandatory. 
The rest depend on different factors like hardware & setup.
These recommendations are for Fast/Overclocked CPUs. Even Stock CPU is faster than NIC Controllers.

Some Ryzen CPUs wont not fall in this category. Especially 3000 & older. If You are a real Competitive (custom matches) or a Pro player, dont listen to anyone else. You will feel the difference in 1v1 situations. Some low ping players wont feel the difference (especially close to the server) but its there, just smaller. The improvement for Higher ping players is bigger & easier to spot because of the greater delay.
*Disable Adaptive Inter-Frame Spacing

*Disable Flow Control

*Disable Interrupt Moderation:
Disable on fast/OC CPUs (If u decide to use it, at least use Minimal, Low or Adaptive: Saves few CPU % but lowers the NIC responsiveness. It causes the CPU to wait longer to send bigger data packets. That's how it saves CPU%-forces the CPU to wait & work less. Its made to help when using higher internet speeds & bigger packets when CPU is struggling. Gaming sends small internet packets so they can travel & be processed as fast as possible This option slows it down. But if your CPU is slow & cant keep up, enabling could save some CPU% & help that way. Disabling RSS will free CPU% as well)

*Set Interrupt Moderation Rate to OFF :
(no need if you disable Interrupt Moderation but I still do it)

*Large Send Offload-Disabled

Set Enable PME to Disabled

Disable Packet Priority & VLAN (Packet Priority if use QoS. Packet Scheduler driver On too)

*Disable Jumbo Packet
(U can set very large packets size which causes higher latency. No place for Gaming Online. It has to be enabled on all other devices in the network to work)

*Recieve & Transmit Buffers to MAX
 Set Receive Side Scaling (RSS) - ENABLED /Ipv4 Checksum On 
(Try both. For CPU Bottleneck -OFF can help. ON if you use other Internet Apps when Gaming)
RSS Balancing Mode-ClosestProcessor / ClosestProcessorStatic Or ConservativeScaling

*Disable all Power-Saving Settings

In short Disable All Offloading & Power-Saving options and increase Receive & Transmit Buffers to Max. (Checksum & RSS are optional)

-------------------------------------------------------------------------------------------------------------------------------------------------

For Fast OC CPUs - Disable all “Offload” features. OC CPUs are faster than Network Adapters in "pure networking activities". Although most players can leave Ipv4, TCP & UDP Checksum Offload Options enabled (especially if you have external PCIe Network Card-they should have faster onboard controllers, at least good ones). You can split the load by enabling TCP Checksum Offloading & disabling UDP Checksum Offloading to see if works for you.

Some additional info. Hopefully will help some ppl to see the difference:
Checksum Offloading improves throughput up to 19% in "network-intensive workloads" which means Server related workloads (like FileSharing for ex.) where the data packets are big & your internet connection can be fully utilized with 500mbps, 1 or 10Gbps (much bigger than in Online Gaming where use just a few kbps).
CPU usage in some servers often can be constantly around 100% All Cores (CPU bottleneck: that's why Offloading exists in the first place - to offload the CPU load to the Network Card & free/lower CPU usage that way). Obviously, that's different from Online Gaming which is much closer to pure networking & CPU load is not constant but fluctuates & CPU has a lot more free resources. The server CPU load depends on the workload so not all server CPUs are 100%. In the cases when the CPU usage is relatively low, Checksum Offloading can improve network (TCP) responsiveness (but that's still when transferring big data packets ie non-Gaming scenario). Enabling LSO can improve the System Performance up to 9% when dealing with large packets but that's irrelevant in Online Gaming & you should disable it. Its important to match Windows settings with your Routers settings.

Like it says at the beginning, this guide is for Competitive Gamers. In these matches a blink at the wrong moment (check your map or kill log) can cause your death. Its that fast. Thats why some players bring the game UI closer to the center-less eye movement. I already mentioned how some Pro's play on 20-30cm from the monitor. It could sound unbelievable to some players but its real xD). Thats how intense this kind of gaming is. These settings are extreme but if you are this kind of player (a pro or competitive, semi-competitive, sweaty player) I strongly encourage you to try them.

So to be clear, in competitive matches the way I see it you have 2 ways to set your Adapter. One is to disable everything except IPv4 Checksum (that includes TCP & UDP Checksum Offload (IPv4)-u can try different combinations here), RSS & increase the Receive & Transmit Buffers. Or disable everything & increase the Receive & Transmit Buffers. Also all other services/drivers, processes, tasks & programs have to be stopped or disabled & use only the bare-bones (your game & VoIP program to communicate).

Most FPS Shooters use both TCP & UDP but UDP is the main protocol. D
ifferent games use the protocols in different ways so enabling or disabling IPv4 Checksum & RSS most likely depends on the game you play, also most people need them for everyday use but Im not convinced they're essential for pure gaming where Hit-Registration depends on UDP (Shooting & moving). Im talking specifically about FPS Shooters. The recommendations are different if you Game & Stream or maybe listening music online (in 1 word: have more than 2 or 3 concurrent internet processes running in the background. Ofc. that also depends on your connection). In that case you can keep QoS, IPv4 Checksum & RSS enabled. If you have LowLatencyMode ON in Nvidia Control Panel on Global profile your stream might have stutters btw (viewer's point of view).

Disabling Offloadings will increase your CPU usage, keep that in mind. Remember, this is Online Gaming, You should not care if you have 2 or 20us higher DPC latency. Because disabling Offloading will increase the driver latency but that doesn't matter in online gaming as long as your DPS & ISRs are within normal range. LatencyMon is the reason for so many placebo tweaks that can be good for general use but does nothing or hurt gaming & the opposite-ppl think that since its higher DPSs its bad for gaming. More performance will cause more interrupts, thats normal, it's how the CPU & the drivers communicate.
In competitive gaming using less CPU is not good for gaming, just the opposite as long as it doesn't cause CPU Bottleneck. There is a difference b/w Performance & Efficiency. Fast cars burn more fuel. A higher polling rate mouse causes higher DPCs & CPU usage spikes & causes more interrupts but it lowers the input lag. People test how many interrupts the CPU receives but dont translate this with the in-game performance (not talking about FPS) so claiming that lower interrupts is better for gaming performance is just not true. Its good to do the same amount of work with fewer interrupts but more performance increases the interrupts.
There are many kinds of "Good Settings" depending on your workload & what people do with their computer. So if someone says these are the "Best settings", you should ask yourself & check for what workload. There are people who say their tweaks are "for gaming" & "hit-reg" because these are popular words but in reality, they are not optimizing for gaming (but Server work or normal Desktop use or just placebo), you just can game on them - there is a difference. When you test tweaks you should use a familiar game (that u know how it behaves) with Server Browser where you can choose the same server every time & play vs the same players (t
hats how I test my tweaks). Matchmaking puts you in a different server every time & play vs random players. Even if you have the same ping with Matchmaking the chances are its still a different server with different players (variations). Also too many players can cause worse server performance. 

Checksum Offload has to be enabled if you want to use the RSS Queues. But on the other side Shooters use UDP for time-critical tasks (like shooting &/or moving) & it can work without Checksum calculations, it also doesn't need error control or Flow Control features so u can disable those. The number of the allocated RSS Queues is related to driver & OS. So you have to test & adjust, RSS is still an offload feature (UDP & TCP Checksum Offloads wouldn't work as well when IPv4 Checksum Offload is disabled). Increasing the queues improves responsiveness, data processing & throughput for different kinds of TCP-based workloads but also adds a small delay + increases the CPU usage (more Queues use more CPU%). Since v1803 Microsoft introduced RSSv2 which is faster & more responsive (technically in v1709 but its preview only). Most users should keep RSS enabled. But if you are a sweaty player who uses just the game & maybe Internet Browser b/w rounds (no other apps or working tasks) you can potentially disable it. Another reason for disabling RSS is CPU Bottleneck. But if you stream & play games, keep QoS & Network Throttling enabled, RSS too. They should help. UDP is also better for VoIP & video streaming (anything in real-time) but it depends on how the program is made. There is a scenario when UDP can use some of the TCP features by inserting RTP (Real Time Protocol), sometimes UDP is used exclusively. Many streaming sites use TCP (it allows them to use the full speed of your connection that way. TCP is usually used when you need more Bandwidth). So it depends. Im just giving you a direction, the choice is yours depending on your workload. 

Its good for complex sites with lots of content like ads, links & pictures (it creates a TCP connection for every picture, object ect). More than 4 queues work best for web server-based applications or any other scenario with high transaction rates. Data transfer & decoding pictures will run on different Cores. 

Its the same for Congestion Control Provider (ppl ask me: Cubic or ctctp) doesnt matter for the gaming directly unless you have buffer bloat or packet loss, or the game uses TCP protocol as its main. Modern FPS Shooters use both TCP & UDP but TCP is not for latency-sensitive tasks. These 2 protocols are related to each other.

UDP is the base of the TCP (it's is built on top of the UDP so to speak). TCP is used when you want to be sure the packets will arrive & will arrive in a certain order. Especially when big data packets are used. The downside is that its "slow". It has to establish a connection, if the packet doesn't arrive its been retransmitted again (several times if needed). UDP is more like a bullet. Its smaller in size & doesn't care about establishing a connection or error correction. It just flies from point A to B. If a packet doesn't arrive it doesn't waste time retransmitting, just sends the latest packets. Its much faster than TCP & its used it scenarios where can afford to lose a packet here & there. The last & most recent update is what matters. (When moving in game for ex. your latest location on the map is what matters. BTW thats why some players are spongy or teleport, because there are lost packets & the game is trying to predict your last location, using interpolation, based on the latest data. Your direction & speed for ex.)

*About Buffers. Basically, 10 Gigabit NICs support 16384. The rest are 8192 or 4096. There are things u have to be aware.  For ex. Transmit buffers can use more than 1 or 2 buffers depending on the packet size. Thats the reason why by default settings are usually more than Receive Buffers. Another thing is that Receive Buffers number is changing depending on whether RSS is enabled or not. There are 2 separate receive buffers groups so in reality their size is 2x less for certain tasks when RSS is enabled.

You also can use Interrupt Affinity Policy Configuration Tool & MSI Tool to improve latency (just know that some drivers can override them).

For Overclocking, you can check which are the best CPU Core by starting CPU-Z, Tools>Clocks and the best cores will be in Red color. This is a motherboard feature. You also can see it in your BIOSCheck the screenshot below.


 If you have old or slow CPU you can consider disabling RSS & use lower Rx & Tx. Otherwise set the number of RSS Queues to 2 or higher value. There is a way to increase the number of Queues from the registry as long as the driver allows it.


Two options here: Set Receive & Transmit buffers to lower value (125; 256; 1024) OR the highest - Test it. Dont go below 125, you can have packet loss if it's too low. Intel recommends these 2 options to be increased to max. Enable DCA for Windows 7.
Disable all power-saving settings (Green, Eco, Power Saving etc)

Leave Gigabit Master Slave Mode and Speed & Duplex to Default if you are not advanced user
They can disable your internet connection.

If you change it & it doesnt fix after changing it back to default you'll have to go back in System Restore Point or reinstall your internet drivers.
*Here are commands for Windows 7, 8 & 10. The commands for Win 7 & 8 (or the ones your system dont use) won't harm Win10, they just show error & won't work. Most Home connections don't use it but you make sure your connection doesn't use IPv6. If you do - don't use the first two commands. I recommend running the commands after you make the tweaks in TCP Optimizer & Network Card. They complement each other. Make System Restore Point before and after every change you make.

Some of these commands are for versions older than Win10 (or early Win10 versions). Also some of the registry tweaks. For ex. 6to4, ISATAP, Teredo, and Direct Tunnels are deprecated. They are disabled by default in Win10. They wont be in Win11.

netsh interface teredo set state disabled
netsh interface 6to4 set state disabled
netsh winsock reset
netsh int isatap set state disable
netsh int ip set global taskoffload=enabled
netsh int ip set global neighborcachelimit=4096
netsh int tcp set global timestamps=disabled
netsh int tcp set heuristics disabled
netsh int tcp set global autotuninglevel=normal
netsh int tcp set global congestionprovider=ctcp
netsh int tcp set supplemental Internet congestionprovider=CTCP
netsh int tcp set global chimney=disabled
netsh int tcp set global ecncapability=disabled
netsh int tcp set global rss=enabled
netsh int tcp set global rsc=disabled
netsh int tcp set global dca=enabled
netsh int tcp set global netdma=enabled
netsh int tcp set global nonsackrttresiliency=disabled
netsh int tcp set security mpp=disabled
netsh int tcp set security profiles=disabled
PowerShell Disable-NetAdapterChecksumOffload -Name "*"
PowerShell Disable-NetAdapterLso -Name "*"
PowerShell Disable-NetAdapterRsc -Name "*"
PowerShell Disable-NetAdapterIPsecOffload -Name "*"
PowerShell Disable-NetAdapterPowerManagement -Name "*"
PowerShell Disable-NetAdapterQos -Name "*"

Reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "EnableICMPRedirect" /t REG_DWORD /d "1" /f
Reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "EnablePMTUDiscovery" /t REG_DWORD /d "1" /f
Reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "Tcp1323Opts" /t REG_DWORD /d "0" /f
Reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "TcpMaxDupAcks" /t REG_DWORD /d "2" /f
Reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "TcpTimedWaitDelay" /t REG_DWORD /d "32" /f
Reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "GlobalMaxTcpWindowSize" /t REG_DWORD /d "8760" /f
Reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "TcpWindowSize" /t REG_DWORD /d "8760" /f
Reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "MaxConnectionsPerServer" /t REG_DWORD /d "0" /f
Reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "MaxUserPort" /t REG_DWORD /d "65534" /f
Reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "SackOpts" /t REG_DWORD /d "0" /f
Reg.exe add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "DefaultTTL" /t REG_DWORD /d "64" /f

Works on Win7 & Win8 too. That's why I left some unused by Win10 commands
Restart PC

RSS TWEAKS

If you want to use RSS this is the way to go. I will be setting this correctly in my new program as well, for people who dont know how and what exactly to do or not sure. So in order for this to work you have to enable RSS & set how many queues you want to use. For 4 core CPUs you cannot use more than 2 queues. I will focus on these since I also have 4 core CPU. After you enable and set RSS 2 queues you have to decide which cores you want to allocate these queues. Usually the last cores are used less often but in games all cores will be used anyway so that step is more beneficial for 6+ core CPUs. If you have HT set the queues only to real cores. 

You can increase/decrease the RSS queues with this command. The values of 4 here is how many queues the CPU will use. Queues are not the same as cores.

Set-NetAdapterRss -Name "Ethernet" -NumberOfReceiveQueues 4

You can set which cores to use RSS with the following command. Thats the starting core. Value of 2 means you set the queues to the last 2 cores (core 2 & 3. We talk about 4/4 thread CPU). By default the base core is 0:

Set-NetAdapterRSS -Name "Ethernet" -BaseProcessorNumber 2 

By limiting that to 2 you can improve the latency because the packets are not going through all the cores, also u can avoid the busy cores with these commands. The CPU will do more efficient work. Less interrupts, lower ISR/DPC latency. 

You can check what you've changed with this command below. If the command doesn't show you anything and you happen to have i225 Internet Adapter you can add a simple registry string *RSS to 1 to make it work. But that driver tries to fix a known problem with 2.5Gb NICs that causes Connection Loss, Packet Loss & other problems. By doing that tweak you might start having Connection Loss & get kicked out of the server when game:

Get-NetAdapterRss

Now the important part. No matter which cores u chose to use, they have to match. Lets say you use Cores 2 & 3 (last 2 cores on my 7600k). Then you have to set the Interrupt Affinity to these cores. You can use the program or set them straight into the Registry. That way you can dramatically improve performance in some cases, like every tweak, depends what you are doing. So to summarize: First enable RSS, then limit the max CPU Cores to the ones you want to use RSS, then set the Interrupt Affinity to the cores you set to use the RSS queues. RSS doesn't use Logical Cores. Only real cores. 

If you want to limit the queues to a certain core use this command:

Set-NetAdapterRss -Name "Ethernet" -MaxProcessorNumber #

You should know by now that my guide is not a step-by-step one and it's focused on information not telling you what to do.

Btw for all commands-if Ethernet is not working for you, use * instead which means it will set it to all network adapters. Most people have only one working Ethernet adapter so its ok to use. Does not affect Wi-Fi.

p.s:

The way Windows is getting is not good at all, Microsoft locks everything they can to prevent us from changing their OS and forcing us to use Windows how they want us to use. For now you can still see leftover codes from as far as Windows 96 (Windows code is a mess, thats why many tweaks still work for latest Win.versions, especially since Vista) but look at the Xbox OS. They will eventually get rid of Win32 API platform and will force the new UWP Modern shit that started with Win8. There will be new tweaks & ways to change the OS but Windows will be more restricted. Microsoft will become the new Apple. One thing is good though- Windows will become more efficient.

UPDATE

 Alright, one more bombshell from me. First i wanna say that i havent seen the commands im gonna show you anywhere on Internet the way i will show them. I've seen 1 or 2 somewhere mentioned or the formulla how it works but nowhere in that state and format or quantities :D You can control the whole driver like that. This is how Intel controls their drivers.

Do not apply them all, choose what you want. The command values are not necessarily my recommendations. Im just giving you the commands.

Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Flow Control" -DisplayValue "disabled"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Interrupt Moderation" -DisplayValue "disabled"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Interrupt Moderation Rate" -DisplayValue "Off"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Enable PME" -DisplayValue "disabled"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Maximum Number of RSS Queues" -DisplayValue "4 Queues"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Transmit Buffers" -DisplayValue "2048"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Receive Buffers" -DisplayValue "2048"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Large Send Offload V2 (IPv4)" -DisplayValue "Disabled"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Large Send Offload V2 (IPv6)" -DisplayValue "Disabled"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "TCP Checksum Offload (IPv4)" -DisplayValue "Disabled"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "TCP Checksum Offload (IPv6)" -DisplayValue "Disabled"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "UDP Checksum Offload (IPv4)" -DisplayValue "Disabled"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "UDP Checksum Offload (IPv6)" -DisplayValue "Disabled"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "IPv4 Checksum Offload" -DisplayValue "Disabled"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "IPv4 Checksum Offload" -DisplayValue "Rx & Tx Enabled"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Speed & Duplex" -DisplayValue "Auto Negotiation"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Speed & Duplex" -DisplayValue "100 mbps Full Duplex"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Speed & Duplex" -DisplayValue "10 mbps Full Duplex"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Speed & Duplex" -DisplayValue "1.0 Gbps Full Duplex"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Speed & Duplex" -DisplayValue "100 mbps Half Duplex"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Speed & Duplex" -DisplayValue "10 mbps Half Duplex"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Gigabit Master Slave Mode" -DisplayValue "Auto Detect"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Gigabit Master Slave Mode" -DisplayValue "Force Master Mode"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Gigabit Master Slave Mode" -DisplayValue "Force Slave Mode" For two NICs
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Maximum Number of RSS Processors" -DisplayValue "4 Processors"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "RSS load balancing profile" -DisplayValue "NUMAScaling"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Protocol ARP Offload" -DisplayValue "Disabled"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Protocol NS Offload" -DisplayValue "Disabled"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Ultra Low Power Mode" -DisplayValue "Disabled"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Jumbo Packet" -DisplayValue "Disabled"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Wake on Magic Packet" -DisplayValue "Disabled"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Wake on Link Settings" -DisplayValue "Disabled"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Wait for Link" -DisplayValue "off"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Energy Efficient Ethernet" -DisplayValue "Off"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Reduce Speed On Power Down" -DisplayValue "Disabled"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "System Idle Power Saver" -DisplayValue "Disabled"
Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Log Link State Event" -DisplayValue "Disabled"

Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Packet Priority & VLAN" -DisplayValue "Packet Priority & VLAN Disabled"

"*" means that will apply to all NIC drivers in the system. If you want to apply only to a specific NIC set it to the name of the NIC, for example "Ethernet" or "Adapter" or "Adapter 1" .

There are more and which is, more importantly, im giving you the knowledge how to figure it out for a specific option. If you have questions im always answering. Im not Cheff-Koch who block people that want help :D

If your driver doesnt have RSS Balancing you can apply this but know that this is an example here, its different for every system, so keep that in mind. After that just apply the command or change it from the Advanced Settings. The other way is to tweak the setup information in the .inf file.

example:
Reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001" /v "*RSSProfile" /t REG_SZ /d "3" /f
Reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001\Ndi\Params\*RSSProfile" /v "ParamDesc" /t REG_SZ /d "RSS load balancing profile" /f
Reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001\Ndi\Params\*RSSProfile" /v "default" /t REG_SZ /d "1" /f
Reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001\Ndi\Params\*RSSProfile" /v "type" /t REG_SZ /d "enum" /f
Reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001\Ndi\Params\*RSSProfile\Enum" /v "1" /t REG_SZ /d "ClosestProcessor" /f
Reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001\Ndi\Params\*RSSProfile\Enum" /v "2" /t REG_SZ /d "ClosestProcessorStatic" /f
Reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001\Ndi\Params\*RSSProfile\Enum" /v "3" /t REG_SZ /d "NUMAScaling" /f
Reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001\Ndi\Params\*RSSProfile\Enum" /v "4" /t REG_SZ /d "NUMAScalingStatic" /f

Reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001\Ndi\Params\*RSSProfile\Enum" /v "5" /t REG_SZ /d "ConservativeScaling" /f

Everyone is an expert these days & has his own opinion how to tweak for "The Best "....insert something here...""" but i think i have the advantage of the experience and know what really helps for Hit-Reg in FPS Shooters, I maybe give more tweaks than its necessary but among that is the real tweaks that actually help. I like to disable everything i dont use or need and occasionally some security tweak among others. Anyway. Happy Tweaking ! Now the vultures can copy/paste at will :D just give me the credit.

====================================================================================
*RSS Queues + Transmit & Receive Buffers


At the time I'm writing that this is the only way to increase the RSS Queues (also have unpublished methods to expand the NIC capabilities) to more than the allowed number in Windows 10 & you can find the following tweaks only in my blog. You can even tweak the whole driver from there, although just registry changes is not the only requirement. There are articles for older Windows versions about RSS and Tx/Rx which don't work on Windows 10. Maybe I should mention that I found these tweaks on my own. So if you if you read it somewhere else, it came from here.

RSS allows incoming internet traffic to be processed in multiple queues, that way you can improve efficiency when TCP protocol is used.

The older Intel Ethernet 82579, I211, I217, I218 & I219 Adapters support RSS for up to 2 queues. 
But there is a limitation with the mentioned ones - older Adapters do not support Msi-X (Message Signaled Interrupts). This means they cannot use separate queues to be processed by different CPU cores. So all queues are processed by one CPU core. Its still faster but not as fast as Msi-X supported adapters. RSS will increase the interrupts but improve receive responsiveness when TCP is being used. Which is everything these days. It utilizes the CPU cache so more queues use more cache when MSI-X is supported, more CPU usage, more data processed.

For this to be working you need RSS to be enabled to use the Queues although there are other requirements & you need more than 4 core CPU. Your driver settings may look a bit different but most of the options are the same.



The registry path for this (Advanced tab Settings):


Is this:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001

and this:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001\Ndi\Params

Here mine is on 0001 but yours can be on 0002 or 0000. I can confirm this works for Intel NIC's (depending on your CPU & drivers, so its not working all the time, keep that in mind). But you can find your Class Guid for your Network Adapter from Driver Key in the drivers, since is different for every system. You can use Find... in the  Registry Editor menu.


You can change all network settings from here along with RSS Queues. The following steps should work on every Windows 10 version as long as the Network Driver allows it:
For ex. Intel I225-V

This is the default Intel settings:


We just need to add 2 more queues. Right click on the empty background and choose String Value, name it "3" and on Value Data type "3 Queues". Repeat the process for the 4th queue but name it "4" and type "4 Queues". 


3 Queues

4 Queues

Now here's one more tweak affecting performance in any kind of workload environment. Also great for high-speed connections.
You also can set the minimum and maximum values for Transmit & Receive Buffers (Tx) & (Rx) respectively.

This is the registry path:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001\Ndi\Params\*TransmitBuffers
and
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001\Ndi\Params\*ReceiveBuffers
ReceiveBuffers

ReceiveBuffers

TransmitBuffers

For good connections, I recommend high values and for slower connections low values but you will have to test which is the best value for you. 

Increasing the RSS Queues and Rx & Tx Buffers works if your driver allows it.

Cat5 vs Cat6 Cables
You don't need more than Cat5 if you have 100mbps or less.

update: (For people who think that Cat6 is better for gaming- Its NOT)
Here's a quick Google. I get why ppl think its faster-because they literally say that its 'faster' :D but here faster means that Cat6 can handle higher speeds if you paid for it & your ISP provides you with higher internet speeds. So if you paid for 10gb connection you need Cat6 for sure. If you have 100Mbps LAN connection you don't need more than Cat5E (up to 1gbps). I hope that clears things up.
Something to add here is that 1gb & 10Gb connections can have lower processing latency (not ping) because of the faster Internet Adapter Controllers & Routers. Well OC CPU is faster than most if not all consumer Internet Adapters. You start to see improvements from offloading, Interrupt Moderation etc if your CPU is struggling (CPU Bottleneck or not optimal usage) &/or transferring large chunks of data. Your Router Settings also have to be set accordingly to benefit. Also depends on what's the Router CPU (most are weak), that's why some people don't see better performance from disabling the options I recommend, all the settings need to be in synchron (by default routers are made to work with Windows default settings which sacrifice latency for lower CPU Usage, PowerSaving & higher Throughput when transferring big data packets like watching video online (simple youtube) or streaming or downloading something (unlike Online Gaming). The nature of Online Gaming is the opposite of that (small packet bursts as often as possible).


TCP Optimizer:
(can fix network-related issues but wont help much for hit-reg)

Remark: I have questions from time to time if it necessary to use TCP Optimizer if you use commands. No, it's not. It can still help with multimedia, internet browsing, fixing network issues so I wont remove it from the guide for that reason, in case someone wants to use it. For v1709 and above use TCP Optimizer v4.7 & above. Microsoft revisited the networking in this version & its using different commands now for some settings. You can use v4.6 on earlier Windows versions. 

                                   Your router settings & Windows ones have to always match the driver settings.

On the slider above (Connection Speed) choose your theoretical internet connection speed not what the speed test shows-for ex. 5/10/25/50/75/100/1000 mbps. If you dont know what it is-Basically round the numbers of your speed test. If You have 1Gbps+ set it to max 100Mbps.

If you have a poor internet connection you can disable TCP Windows Auto-Tuning. You can leave it enabled if you have a good connection. If you have lower download speeds set it back to normal. Heuristics can cause issues with auto-tuning & can improve Internet speeds when disabled. It's disabled by default in Windows 8.1 Copy the screenshots settings. The MTU is different for different connections so test it first.

Disabling Nagles Algorithm- there is no point of doing this tweak in Win10/11. Maybe if you play older games or one which uses TCP protocol instead of UDP, the majority of modern FPS games use UDP for time-critical tasks because it's faster. I dont think it hurts if you disable it though. Leatrix latency fix does the same - disables the Nagles Algorithm. No need to use it if you have TCP Optimizer. 
I will leave the commands TCP Optimizer is using along with few others. This is one of the few good tools which are updated adequately but i think it needs a revisit for the latest Win.versions. Cheers to Philip from speedguide.net :) He's from Bulgaria too. His site has an explanation of all of the options & features used in the program and more. Worth checking for beginners.


If you use older Windows 7 you probably should Enable DCA. It shows on Win 7 version.


After that restart your PC


====================================================================================

*Nvidia Control Pannel Game Settings - Performance



For those with the "secret" Nvidia settings & other driver dumps put in Windows Registry:
The Registry can change the driver function but drivers have priority over the registry (for security or other reasons) & if a driver makes a change, the registry follows. 
Some registry tweaks work (if done correctly, on the right GPU) but only if the device has hardware registers mapped into memory or I/O address to access them. Without that there is no connection to the
 Driver. That's true for all kinds of drivers. There are tweaks that work only on certain generations of GPUs but not on others. A lot of tweakers cant get it that many settings work only for server class GPUs like Tesla & Quadro i.e. from Titan & up. Nvidia puts an artificial restriction on GeForce Cards. For ex. as of now only RTX3000 have Memory Error Correction enabled for GeForce cards (most likely 4000 will too) but there are people who claim they can disable it for RTX2000 or even GTX1000. Its already disabled on RTX2000 & doesnt exist in GTX1000. So Im asking: How can you disable a disabled or non-existent function???

Nvidia is not AMD. They gradually keep restricting the Gaming cards, in both registry & drivers over the years & start encrypting their GPU BIOS's after GTX900. AMD started restricting their GPU Frequencies, so they're also slowly heading this way. But this time AMD has a better product with more performance & better responsiveness than Nvidia for Competitive Gaming (although it requires some additional tweaking), which is 1080p or lower (1440p is not a popular competitive resolution but some games with long draw distances can help see & aim better on distance). Frequency matters, RDNA is a real Gaming architecture while Nvidias Ampere is a re-purposed Server grade architecture. And the numbers show it. Nvidia is better on high resolution (high throughput) but at the same time RTX 3090 has a relatively worse scale in performance on lower resolutions, like 1080p. For years that was the other way around. AMD used to use one server-oriented architecture for both Server & Gaming cards (just remove some features on Gaming cards. Ryzen also is clearly created with servers in mind) & Nvidia was always with two separate architectures optimized for Servers & Gaming. Now the tables are turned. Nvidia supposed to have better color compression & some other improvements but AMD preparing their GPUs for Dx12 since Rx200 & 300 -these old cards had Asynch. Compute. In BF4 there is a special "Mantle" option for AMD cards which in many aspects is the origins of Vulkan & Dx12 APIs. Back then Battlefield was sponsored by AMD & since then Radeon cards perform very well in Frostbite engine games, often was matching or exceeding the performance of 1 tier higher Nvidia cards. Another thing for you to consider if you buy a new GPU these days (2022) is that Nvidia driver causes additional CPU overhead (old AMD drivers also had this problem 6+years ago). Again, the tables are turned.
Not gonna talk about the software side, only that people say Nvidia's strengths are RTX, the Media Engine & its features despite the old Control Panel. Nvidia Reflex is also better than AMD Anti-Lag. Although AMD drivers improve fast.

====================================================================================

On Manage 3D settings go on Program Settings and choose every game separately because on Global Settings some programs can "misbehave" & you could have issues with Internet Browser for example as it affects all programs. Also on PhysX leave Auto, that way the system can switch b/w CPU & GPU if necessary. Shader Cache ON - it's better and faster even with slower HD but sometimes you can have issues with "ON". Turn Off - Only if you have a very slow hard drive or stutters. Keep in mind "Off" causes CPU to work more, "ON" uses the hard drive. Max Pre-rendered frames on 1 or Use 3D Application Settings. The new LowLatency Mode: I would leave it off on Global Settings & set it individually for every game. If the game has Nvidia Reflex in the Video Options menu use On+Boost, it will override whatever setting u have in the Nvidia Control Panel. If the game doesn't have Reflex then you can use Ultra, it should work on both Dx11 & Dx12. LowLatencyMode On pre-renders 1 frame. I believe its limited to Dx11 but Im not 100% sure. Google is your friend. Ultra & Reflex in-game option will help in GPU bottlenecked game. So if you play CPU limited game On should be the best option here.

update
G-Sync

If you want to use G-Sync with V-sync, set it to Fast Sync in Vertical Sync Option. Thats 1 way of using it. Fast Sync adds an additional buffer that reduces the Input Lag. When Fast Sync is enabled, it works above your monitor Refresh Rate. You can disable Vsync & use only G-Sync. You dont want V-Sync on any game in real-time. Its for visual improvement. So for GPU-bound games, minimal latency & no tearing, I would use G-Sync only but you still have to cap the FPS by 2-3-6 FPS below the refresh rate of your monitor to work properly

Today we have Nvidia Reflex (& UltraLow Latency option in drivers, if the game doesnt have Reflex option in-game) which acts like FPS cap. The goal is to avoid GPU or CPU-Bottleneck - u need to balance their usage, so they (CPU&GPU) use as little as possible. The lower the GPU/CPU usage the lower Render & Game Latency. When not using any sync its the lowest input lag provided you dont have GPU-bottleneck. But G-sync with capped FPS can potentially have lower or similar results as CPU-bound game by using fewer resources. In CPU-bound games Reflex & UltraLowLalency options do nothing if done right (unless some specific scenarios).Dont listen people who tell you to use the GPU to 95% - it should be as low as possible %. GPU 95% is the highest acceptable GPU Usage (especially when have Reflex in game)

I redacted this few times to improve my explanations but it's best is to watch these videos to see exactly what I mean. These videos are showing how FPS influences the gameplay and how V & G-Sync technologies work along with some testing results. It's very educational. 

Digital Foundry


  Hardware Unboxed

    Frame Times Explanation Video

The Telemetry, Maintenance, Defender, Update and other Windows background services and processes can increase the frame times and hurt the performance in general & get lower FPS, depending on your system. On 60fps the frame times are 16.7ms, on 144fps-6.95ms, 240fps-4.17ms, on 500fps -2ms. Thats why you need your FPS as high as possible even on 60hz monitor. The game is more responsive and registers your mouse click & movements faster (lower input lag). This complements perfectly with a good connection & high refresh rate monitor and makes what we call a good Hit-Reg. Sometimes if you have a very good connection you don't need high FPS but that's the case in general & this player will have even better Hit-Reg with higher FPS. The higher the monitor refresh rate the better, its better to reach at least the same FPS, the higher FPS the lower frame times & better input lag. Thats on CPU bound games. For GPU bound games we had to cap FPS but now we have Reflex & Anti-Lag. If you choose to cap FPS use a multiplayer to your monitor hz. For ex. on 240hz u cap on around 120fps, 240fps or 720fps etc. On 120hz you cap around60, 120, 240, 480 ect. For 75hz u can cap at around 75, 150, 225, 300 etc. Ideally you should not have any kind of bottleneck.
The higher refresh rate monitor lowers monitor response times. Someone with the same system as you but lower hz monitor & the same connection will see you few ms later than you see him (assuming u both have at least the same FPS as monitor hz). If he has lower ping he will have the advantage or that could compensate your higher hz. Depends how much faster is than your connection.
System latency and your reflexes/reaction times can compensate when playing vs player with slightly lower ping. There is also game compensation but thats unpredictable. Then even higher ping players can have an advantage over you.


If you use programs when gaming you can use Display GPU Activity Icon in Notification Area to see which programs use the GPU & potentially disable them. Enable it from Nvidia Control Panel >Desktop. If the game uses 100% of the GPU (more than 95-97%) set Low Latency Mode on Ultra & if its less than 90% use On. If the game has Nvidia Reflex Option leave it Enabled or Reflex+Boost. You dont need to use Low Latency Mode or Ultra in this case, unless the game Reflex option doesnt work for some reason. Use Ultra only if the game doesnt have Reflex Option and GPU is above 95-97%. The lower the GPU usage the faster input lag. On monitors with Variable Backlight option u can either disable or choose the fastest option. Some monitors have G-Sync module with eSport Mode. In addition to frame synchronization it also changes some panel settings (including adjusting the Variable Backlight) that improve the monitor latency. G-Synch also adds some input lag so you have to decide for yourself is it worthed. Try. Good G-Synch implementation adds 1ms when not in a fight, so maybe 1-3ms in game.

====================================================================================
Same principle for AMD cards.
Last time I used AMD they were faster than the competition so Im not on 100% about these settings. I just use common sense. That's why I don't mention AMD often here. My experience is more with Intel & Nvidia.
Anti-Aliasing - Use Application Settings, Anisotropic Settings -  TurnOff, Texture Filtering Quality - Performance, Vertical Refresh is ALWAYS OFF, Tessalation - Override Application Settings & then choose OFF when the new option appears. For Scaling Mode - use No Scaling if you play on s native resolution for your monitor. If you play on lower resolution & No Scaling doesnt work on your monitor, then use Aspect Ratio.
Use .cfg file because in Battlefield for ex. there are commands which complement & improve the AMD Radeon & Nvidia Control Panel settings but they are not included as options.

====================================================================================


*GPU OVERCLOCK

GPU overclock is a childs play these days plus you have Nvida's GPU Boost 3.0 & 4.0. 

Run some benchmark in the background and adjust the settings on the fly. First Increase the Power Limit to the MAX & if you want the highest OC the voltage should be on MAX as well. 

After every change hit Apply. Then start increasing the memory clock with 50 - 100mhz at a time. Try first with +300. You can have more improvement from vRAM than Core speed.

 Each time you raise the clock watch for artifacts, screen flickering & other anomalies. Back down 10-15mhz if you see something unusual on the screen (decrease until you have a good picture). 

When you reached the highest stable memory speed make the same with the Core Clock. When you set your final OC, benchmark for a longer period to be sure it's stable. 

Always set custom Fan Curves- on Pascal cards the core speeds depends heavily on temps so you need your card as cool as possible to get the highest core speed. 

Use 2 separate cables to power the 6-pin &/or 8-pin connectors of the Video card (if it has 2 connectors). You also can cool your video card with a fan on top of the card. Place it on top of the GPU or the RAM modules or both. Of course on backplates with no vent wholes won't work. It gives me around 10C cooler GPU temps. Both methods can stabilize your overclock or give you a few more mhz. The fan(s) needs to be elevated so put rubber feet on 4 corners to minimize the noise or use zip ties.

Good demonstrative video about the airflow & PC cooling



And if you can put fan on the side panel place it to draw the hot air out of the case. It helps a lot on hotter cards in negative pressure cases. You can try the fan to blow in too. What fan orientation to be, depends on what fan configuration your case have (positive or negative). Watch the youtube video above. Thank me later :)

                                                           Ghetto Cool Tech: 



*K-Boost

K-Boost removes the GPU Boost and your card will work at the highest Core Speed without lowering the clock. That's better performance. It forces your card to work on 100%. That's one of the few ways to max out your video card without a bios flash. Set your usual OC and enable it. If your core clock is dipping down that means your GPU can't sustain that speed on this load. When you find your card "sweetspot" it will be the same speed all the time and it will be higher than normal (without K-Boost). In any case you will have the best GPU response time. Don't forget to OC the vRAM & tweak the Power Management Mode in Nvidia Control Panel to Prefer Maximum Performance. Especially if you have flashed bios (for stability).

 It will increase your low FPS, maybe average too. Increases the performance in-game & can reduce the frame drops if you have ones. Some people think they have frame drops when playing on LOW Settings. It's normal to have big FPS fluctuations on LOW, that's not frame drop guys.

Use K-Boost only when gaming or other heavy tasks. After you stop the game, disable K-Boost otherwise your Video Card will work at highest voltage all the time and could overheat if not supervised. 

If you leave it enabled that might degrade your Video Card's life. If you don't disable K-Boost it will be still enabled after PC restart. Keep that in mind & dont forget it enabled more than a day. Of course if you know what you are doing and have good cooling + don't mind the card is using maximum power & stays on 100% all the time you can leave it on. Just know GPU temps can be 50-60C but vram & vrm can go above 115C. Especially if you have water cooled card but no fan over the other components or laptop like DELL Inspiron for ex. They were notorious with their high temps.

K-Boost is EVGA feature in PrecisionX OC software. But you can enable it with MSI Afterburner as well. It works only on Nvidia cards and it's locked only for EVGA ones after PrecisionX 16 v5.

There is a hidden shortcut that can bypass the K-Boost limitations & can be used on all Nvidia cards so no real need to enable it in Afterburner. Shift + Ctrl + Middle mouse button brings up the Advanced Settings menu & from there you can disable K-Boost limitations but you might have blue screens because of that.


Honestly, I prefer to use G-Booster because it's a much simpler & easier way than all 3 variants (there are more ways btw. 
Im aware of at least 5-6) & have Game Mode + other gaming focused tweaks. 

I've started an article about this long time ago but when i saw people ask 40eu for optimization & using my tweaks, i just stopped writing it. If someone shows you how to use K-Boost manually that works for Nvidia cards (600s-1000s), without restarting just know that this is my method reverse-engineered - when i figured it out & developed the automated method no one on the whole internet had it documented, just some snippets, Ive searched for months. So Im not just copy/pasting Google, like 99% of the "experts" these days, but actually creating something, anyway. At the time only one person have it posted on the internet and he used exactly G-Booster to see how it works. Cheers to Felipe, big potential. I'll appreciate the credit when mentioning this.)

So, the safer & easier way to enable K-Boost with no limitations or blue screens is G-Booster. Works for Nvidia cards 600s-900s (or 1000s). Along with it there are several other powerful gaming features along with Windows Optimizations tweaks that actually works & will improve your Performance & Hit-Reg in game. They are optimized for Windows 10 but are adapted for Windows 7 & 8 as well. Doesn't use system resources at all. Here's a link to the page for more info: 


 

I just show you the tools & how to use them. You decide which one you like more.

PrecisionX:

offical link:

K-Boost in Afterburner:
official link for Afterburner:

====================================================================================
 Nvidia Inspector: 



There are pre-defined optimized settings for basically every popular modern game from the last years. Its like Nvidia Control Panel on steroids (with more options). And you can overclock your card with it.

For people who still use SLI - to fix issues install latest drivers, run Nvidia Inspector, Click on "Create New Profile", click on "add an application to current profile" and choose the game you play. Go on compatibility in Nvidia Inspector settings and try the SLI compatibility bits options & other compatibility options. For BF4 the SLI compatibility bits (dx10-dx11) is: 0x080116F5 (Act of Aggression, Battlefield 3, Battlefield 1, etc.). Click on Apply changes and restart the PC. Typically you need to use cards with the same base & boost clocks, ideally with same BIOSes to avoid stuttering. You can try to mitigate stutters in MSI Afterburner by applying identical settings to both cards.

Another thing you can do to improve performance is to set the Texture Filtering LOD bias to (+) positive value. (-) Negative value sharpens the picture but might looks weird when moving. It should be also on Allow.
Always restart PC before using another program and make System Restore Point.

RadeonMod v1.0.14:
AMD

Old name was "AMD Registry Editor". You can edit the registry for AMD GPU's. Make a backup of your registry first and/or make a System Restore Point.
For Radeon R9 Fury, R9 300, and R7 300 Series, Radeon R9 200, R7 200, HD 7000, HD 6000, and HD 5000 Series, AMD Mobility Radeon Notebooks, Radeon HD 4000, HD 3000, and HD 2000 Series, AMD Radeon Dual Graphics.

====================================================================================

*CPU OVERCLOCKING
highest safe 24/7 CPU voltage is around 1.390-1.45
(For all Intel chips. Doesn't matter if it's SandyBridge or CoffeLake)

Most people just change the multiplayer & the voltage and call that OC. Some even leave voltage on Auto and can't understand why they have so high temps. I've had higher scores vs CPUs with 100mhz higher OC than mine. (Thats because Youtube is full with "OC guides" which changes only these two settings. Not to mention "60fps is good enough" crap.


Explaination of 1% & 0.1% Low FPS

Foundation Toolkit
(Works Best on 12th/13th/14th Gen)

People pay extra for something they don't use & 
waste money on higher-end CPUs & GPUs while they would be fine with less expensive ones. Same thing with power supplies-buy 1000-1500w and don't even go in the bios. 750w-850 is more than adequate for most people if don't OC, unless they have a super hungry High-End PC. A reason for higher wat PSU is efficiency-use less power. Its alway better not to use your PSU on 100% though.


Be careful, even with low temps the higher voltage can damage your CPU.
With that said don't be a pussy & use the performance you overpaid for :)

Highest CPU temp Im comfortable with is around 75C-85C but you can run at 95C and still be fine as long as it's not happening all the time. Same thing with voltage. Of course the lower the better. Intel CPU can operate without throttling up to 100C & 115C+ for the 9000+ series. It doesn't matter if you have Ivy Bridge, CoffeeLake or Raptor Lake - if you don't go over 1,35-1,45v & keep under 75-85C you are safe. Although on high voltage I would use High 
Fixed Fan Speed & Water Cooling to avoid high Temp Spikes which can be up to 40C - such high spike can crash the system, especially on 85C (For ex. 85+35=120c for few ns). Thats something that a software can't detect because it happens too fast. Sometimes the monitor programs themselves cause the crash (worth mentioning-you can increase the refresh interval to mitigate that).

You Need a Good Cooler & Good Thermal Paste If You Plan To Keep The Voltage High. Intel 9, 10+ Gen are Different Than Older Intel Chips. Be Extra Careful With Their Voltage. 12-14 Gen have pretty good voltage regulation, the boards after z370 are build with higher standards, but they are still very power-hungry & also need more attention when adjusting the voltages.

The settings on different Motherboard brands are the same but have different names so keep that in mind.

First OC the CPU, then RAM because RAM OC can decrease the CPU OC when aim for Max Frequency. If you think you are experienced enough and know your PC you can OC them both simultaneously but thats for more advanced users. Its a rule of thumb that worth mentioning.

 Before you set the multiplayer and find your best voltage for a certain CPU speed you have to disable all power-saving features like C-states, CPU Enhanced Halt, Thermal Throttling, Intel Virtualization Technolgy as well (This is oldschool OC which is best for Online Gaming because lower the latency & improve context switching). Set BCLK on 100 manually after setting XMP profile, to avoid possible changes, for simplicity (u can OC BCLK after you find your max frequency). On high core count CPUs you can even disable the Hyperthreading in some games & benchmarks. Ryzen CPUs perform better without SMT in many games for example (SMT is AMD's Hyperthreading). The latest Ryzen versions are getting better performance with SMT but if you have a high thread count CPU (8 or more) you can disable it in some games for higher OC or disable other chiplets to further improve the latency. Intel CPUs Hyperthreading benefits are usually much bigger than negligible latency penalty. You can get +35% more throughput which is important if you have CPU bottleneck.
 
CPU cache (uncore or ring) uses more voltage above a certain threshold but it's good for the hit-reg so after you find the best CPU Core multiplayer voltage, set the highest stable CPU cache you can, just prepare to increase the CPU voltage to balance it if you have (temps) room for that. It also makes CPUs hotter. 
  
Voltage depends on the LLC (Load Line Calibration-check the link below to know more). The highest LLC can get stable OC but your motherboard will have higher temps. "z" & "x" motherboards (z170, z370, x99, x299 ect) are designed for overclocking. There are 2 LLC setting layouts depending on motherboard vendors. For ex. in ASUS bios the highest LLC is the highest number, in AsRock the highest is the lowest number. PLL voltages can be useful & 
help for stability with power-hungry CPUs. Usually these options are for extreme cooling like ln2 but they can stabilize an OC on Water Cooling. 

Set Long Duration Power Limit and Short Duration Power Limit + CPU Core Current Limit on the highest you can set it (just type 999999 and hit enter it will set it automatically to the highest value, works on most motherboards). For some BIOSes it's in % . I see ppl using mouse in UEFI. Just use arrow keys, +, -, Enter & Esc - its just faster. You can also limit the power to improve CPU temps. If done right you wont loose more than couple performance %.

Long Duration Maintained is how long will the CPU be in Turbo Mode. Leave Auto if you are not sure. The CPU voltage can be set to offset or adaptive if you want the voltage to lower with the CPU Frequency (not manual). Auto depends on the board. You can use Manual or Override If you prefer to lock the voltages. Its safe to stay all the time on 1.45v for ex. If there is no CPU load the Current will stay low so its not dangerous. Its good for All core OC. You need some tweaking to make it right with Offset/Adaptive (although the boards on Intel 10 gen & newer are getting quite accurate on Auto). So after you find your best CPU OC change CPU voltage from manual to offset, manual/override is good for stability. OIffset/Adaptive is usually used when you let the CPU Frequency to fluctuate (when using SpeedStep/TurboBoost. On some boards TurboBoost Off also disable CPU Boost & stays at Base Frequency so keep that in mind-its not preferable). It all depends how you want it.

After you find the best OC and want to squeeze a little more of your system you can try to increase the BCLK. This will change your RAM speeds (along with other settings depending on your platform) so watch them and adjust to make it back to normal speeds (2933mhz; 3200mhz; 3366mhz for ex.). 

The FCLK helps with data transfer between CPU and GPU. It affects the memory controller, sometimes you need to increase the RAM or IO/VDDQ voltage to post. Set it on the highest (1000mhz).  If you still have issues with your RAM OC & can't post - increase RAM voltage. Set on 800mhz as a last resort. I set FCLK last, after i find my stable RAM OC. It has a small increase in Benchmarks but it helps for the latency, responsiveness & hit-reg.

Set the Fan speed to Max, maybe Highest Auto you have in Bios or make a custom curve. Better louder & cooler than hot & slow or crash. People who want quiet fans will set it differently anyway.

(updated) 
Fun Fact: IDK who started naming the CPU Logical Cores Threads but thats not actually correct. Its a jargon/slang. With more Logical Cores you are able to run more process threads in Windows. So strictly speaking threads are on the software side (OS), part of the different processes, not in the CPU.

(updated) 

When you set CPU voltage for 24/7 go for adaptive or offset and set it to +N (for ex.+50 or 100, depending on your Frequency & your default voltage) above your Default CPU voltage to adjust it (some boards handle VIDs quite accurate but in general its just a rough guideline how much voltage the CPU needs). For example, If your Default CPU voltage is 1,150v, + 100 offset means the CPU voltage will be around 1,250v in Windows. +150 offset means around 1,300v (LLC determines if its lower or higher than that under load). If your lowest manual stable voltage is 1,275v for 5Ghz just set offset to +125 to make it 1,275v (from 1.15v default voltage). These are just examples. My offset on my 7600k 5ghz is +160 offset with 1,125mv Default CPU voltage. You can check your Default CPU voltage with CPU-Z or HWINFO when CPU is under load. Usually Offset is taking slightly more voltage to compensate for the fluctuations. Also, take into consideration LLC. On 9,10 & 11 Gen the CPUs use more power & the Default CPU voltage is higher than 7, 8 & previous gens so your Offset voltage will be lower than these numbers if you have 9th+ Gen CPU. For ex. my 7600k is +300 for 5.3Ghz but my 10700k is +105 offset voltage (with cache OC included).

This explanation is based on normal BIOS settings. It will behave differently depending on how you tweak your BIOS: In Windows High Performance Power Option will make your CPU to work on the highest frequency and voltage. Thats how you can see the max CPU voltage with CPU-Z. Balanced will make your CPU to scale down when not in use (lowest frequency & voltage) and increase frequency & voltage on the go, when use it. It will constantly adjust frequency & voltage based on the CPU load. Power Save will try to use as low voltage & CPU frequency as it can. Ofc. that depends on how you set your BIOS settings. Sometimes doesnt matter what Power Profile you use because of the BIOS configuration. I guess thats the best I can explain this.

When OC run HWiNFO app. Very useful tool, it shows everything related to your system-temps, voltage, RAM & pagefile usage, errors, CPU, GPU, Motherboard, name it. Look for Windows Hardware Errors (WHEA). Its located at the bottom of the Sensor Status Window. If you see CPU Cache L0 Errors your OC most likely is not stable, try to increase eighter CPUcache voltage or CPU voltage with 0,005mv. If you still have the same error increase again with 0,005mv until you have no more errors. If the voltage gets too high & CPU too hot, 1st lower the Cache Ratio if its higher than 4.6Ghz, if not then lower the CPU Ratio.

I will add links to two pages with more info about BIOS settings:
Bios Options Explanations
AsRock Bios Settings For Best 5ghz Overclock





Video Overclocking Guide
If you're not experienced, copy the settings in the video. Its mostly the same settings for all bioses. Only the names are different. Doesn't matter if it's not your motherboard.

8700k & 8600k

Other OC Guides:



Kaby Lake/Skylake Overclocking

These are My Recommendations for AsRock Boards. I have AsRock Extreme 4 but it works on the others as well:
Delliding:

Introduction in Bios

Intel released a microcode patch for Meltdown and Spectre Vulnerabilities that reduces the CPU performance by 7-10% on Intel chips in last 2-3 months of 2016*. Board vendors start updating the Bios versions from the beginning of the 2017. So use older Bios version (before 01.2017) if you flash your Bios and avoid revision C2 & 84 for Sky and KabyLake like a plaque. Nobody will hack your gaming PC. These patches are mainly for companies. If you are using your PC just for gaming you dont need it, you will lose performance. New microcodes also can increase your CPU temps as well. Except that there are patches on Windows side. Use InSpectre to check if you have Windows patches & disable them & submit your score to CPU-Z & when you see your score on their site it will show you if you have Intel microcode patch for Spectre & Meltdown in your bios or not.  If you updated to the new microcode you cannot go back and flash older microcode & you are stuck with less performance.

In the example below it says that my bios does not have microcode patch so my performance won't be crippled by 7-10%. Look further down to InSpectre screenshot to see how it have to be for you. It have to show System is Meltdown protected: NO & System is Spectre protected: NO.


*inSpectre 
(Meltdown and Spectre Vulnerabilities):
Intel has both vulnerabilities, AMD has just one of them.

This tool checks Windows for Meltdown and Spectre vulnerabilities Updates & you can disable it on Windows level. If it shows "YES" on microcode - just means there is a new BIOS for your CPU with a security patch. The Windows Patch is slowing my 7600k 5Ghz down with around 3% in Cinebench. There are 2 levels of security - software & hardware. Windows Patch & Intels Microcode Update are software security measures. Intels 9000 Series have patched this & implemented in Hardware so the performance hit won't be as bad as 8000 series & before.
This is what you want to see


The performance hit is more visible on older CPUs. If you have the protections enabled the performance of your CPU has been decreased for sure, the question is "How Much". The microcode patch makes your CPU to work around 7-10% worse on new CPUs, older CPUs like Sandy Bridge can have up to 25% performance drop, along with higher temps. You can check your scores in Cinebench before and after the bios update to verify it and see the difference. Cinebench is more consistent in scores, thats why.


====================================================================================


*DDR4 RAM OC & TIMINGS TWEAKING

You can be fine with certain settings and crash after a month so make sure its 100% stable with MemTest64, Memtest, mlc, SuperPI (for initial test) or similar tool. Please dont use Prime95 for RAM OC. OCCT is a very good all around stress test tool for the whole system. Most of these settings & voltages are valid for DDR5 OC but this is based on my DDR4 experience.  I dont talk about things I dont have personal experience. Someone donate me DDR5 board & RAM kit (I have CPU) & I will make a DDR5 OC guide xD

MemTest64 is easier to use, but TM5 become popular last years, even though its probably 20+ years old tool at this point. Its a good tool. I use TM5 & HyperPi (16m & 32m) to quickly test for RAM stability. MemTest64 is light tool but I still use it. Just leave it during the night. 6-8h is Gaming stable for sure. If you compete with Benchmarks thats obviously not enough:

You can set Dram voltage at 1.5v or higher (highest safe 24/7 voltage is 1.45-1.64v but fan is advisable above 1.55-1.6v)

Different Motherboards like different voltages. Also depends on the CPU & RAM. 

CPU VCCIO & CPU System Agent depend on the system generation: Generally 1.20-1.3v. Highest safe 24/7 voltage is up to 1.25-1.35v on old/cheap boards until z370 (After z390 Intel boards are getting build more robust). For Mid & Highrange boards & higher than Intel 8 Gen you can set these 2 voltages up to 1.45-1.5v.

CPU VCCIO voltage from 1.20-1.35v up to 1.4-1.49v Max.

On 12-14Gen
 VCCIO voltage rail got divided to CPU VDDQ & VDD2.
There are CPU VDDQ & DRAM VDDQ. 
 DRAM VDDQ has to be lower than CPU VDDQ (30-50mv). Also CPU VDD2 must be higher than DRAM VDD)

CPU System Agent voltage from 1.20-1.35v up to 1.45-1.49v Max.

These formulas are within a margin of 2-4ticks, depending on your RAM, CPU, voltage ect

tRAS >= CAS +tRCD (+/- 2) 
 tFAW >= 4x tRRD(_S)
tCWL should be 1-2 below CL
tWR = tWRPRE - tCWL - 4
tWRPRE = 4 + tWR + tCWL
RTL Init. Value = IO + IO Offset + 10 + (2xcl)
tRFC>= b/w 160 & 180 x ram frequency /devided by 2000
tRC= tRP + tRAS


There is a formula to calculate the "real speed" of the RAM:

cl (the 1st timing) x 2000 and device that on the RAM Frequency

And since I know some people are lazy here is an easy way 

If You Learn Something From This Guide, Please Consider Donating. Thanks.

www.paypal.me/n1kobg

LINK TO A ASUS OC 
BIOS GUIDE

If you have trouble with posting on higher speed & nothing else works increase DRAM Activating Power Supply or whichever option increases the RAM voltage during Boot (the most stressful & point of failure part) & then lower it to the usual voltage. If your BIOS doesnt have such options as an alternative u can just increase the RAM voltage +0.50 or +0.30mv higher & see if boots. If you use OC software in Windows you can lower the RAM voltage there.

You can try OC the RAM on XMP but it can cause problems with timings so I recommend to disable XMP if you aim for high OC. After you find the highest stable speed go to tRFC-set it to the lowest you can post - check the RAM JEDECs to see whats the lowest tRFC value. Thats usually around the lowest stable value or close to it. My HyperX FURY 2666mhz (OC to 3200mhz) RAM goes around 265-400 depending on the frequency and voltage.

When RAM OC keep the same (or similar) margins between the different timings. Remember, some XMP profiles increase the BCLK and that can cause issues when tweaking. For not so experienced people i suggest to set BCLK to 100 manually. Try to set the CAS Latency (tcl) tRCD & tRP as lowest as u can be stable, these are related/linked to tRAS. You can try to find online stable timings for your RAM kit for the first 4 or 5 timings and work from there. If you can set stable Command Rate to 1, do it, its sightly faster but if you have instability go to CR2. Value of 2 is good for stability on high frequency (CR2 is lowest on 4 or more RAM sticks). 

tWR & tCWL are related/linked. For tWR values below 10 can be unstable so for stability above that number. Leave tWTR_L on Default/Auto and lower the tWRRD_sg & tWRRD_dg by 1 or 2. If it post then lower it further. This will lower tWTR_L & tWTR_S. You can also lower tRDWR_sg, tRDWR_dg, tRDWR_dr, tRDWR_dd, and tWRWR_dr & tWRWR _dd  options, how much depends on frequency & voltage. 

You also can set tREFI double the Default value. You can try the highest value as it helps alot (especially in benchmarks) but that can cause instability if it's too high, so if you have problems go back to double the default number or default. tREFI & Command Rate are tricky settings. You can add more voltage to try to stabilize them.

I use AIDA64, HyperPi, MemTest64, memtest, TestMem5, MemTweakIt (its ASUS app but it can be used to watch DRAM timings, ASRock Timing Configurator & Of course CPU-Z.

 Increase IO-L Offset (A&B channels) to the highest you can post (maybe 1-2 below the highest for stability). Start Increasing by +1 at each step & if you post the IO-L should be lower value. Watch RTL CH:A&B. They need to be the same values or differ by 1 or 2. Ideally, for gaming, they should be same values. RTL is connected to IOL and CAS(tCL) values.

 Sometimes one IO-L offset channel can post but the other don't so if you increase both at once and doesn't post try to increase only one of them. They also must be differ no more than 1 value (A channel:22, B: 23 for ex). You can try to lower the IO-L Initial Value as well. For me 3 or 2 works fine on higher RAM voltage (4 is by default). You also could tweak RTL Initial Value as well but best leave it on Auto. Set ODT NOM around 80-100. You can disable the Fast Boot option (in RAM settings, not in Boot) - it can cause problems to RAM training sometimes.

You can try different approach: Leave the primary (first 4) timings and tweak the 2nd, 3rd & 4th timings. That way you can have more stable OC with similar results.

These will give you a nice performance boost (if done right) and will improve the responsiveness & hit-reg. Windows will become snappier & programs will start faster. Especially combined with higher CPU cache. Bad RAM OC can cause very bad hit-reg. Good RAM OC on the other hand will feel like you have slightly more time to aim and shoot.

So to summer up check these timings:
CAS# (tCL) ; RAS# to CAS# (tRCDtRP) ; RAS#(tRAS) ; Commsnd Rate(CR) - usually 1 (performance) or 2 (stability) ; Refresh Cycle Time(tRFC) ; CAS Write Latency(tCWL) ; rAS to RAS Delay ; Write to Read Delay ; tREFI ; tCKE ;tRDWRs ; IO-L Init Value ; IO-L Offset; tRDWR_sg; tRDWR_dg; tRDWR_dr; tRDWR_dd and tWRWR_dr; tWRWR_dd.

Adjust RTL/IO on Maximus VIII Series 

====================================================================================

MOUSE OC

Speaking of overclocking you can overclock you mouse. You can increase the Polling Rate of the mouse if its overclockable. Not every mouse can OC. Actually you OC the USB port not the mouse itself. You can even OC the keyboard. There are already selling mouses with 2000hz, 4000hz & 8000hz polling rate on the market. With higher Polling Rate you can adjust if you have slightly higher sensitivity & in-game slider increments are too big. So if your sensitivity is slightly too high for you but lowering in-game mouse sens &/or DPI makes it too slow for you, increasing the polling rate will help you with that (increasing FOV, Texture (Anisotropic) Filtering and Texture Resolution help with that as well but FOV & Texture Resolution can affect the responsiveness a bit if they're too high). AA too but most players won't use AA in competitive...Anisotropic filtering uses very few system resources.

update:
I heard that 500hz is better because of something technical (i dont remember) or that feels more natural. Thats a personal preference although many people cant feel the difference, well I can. Also that your hand movements are not that fast to benefit from the higher refresh rate but they forget that you dont just move the mouse, you also click the switch/push the button and that can be detected faster with higher polling rate which means you shoot earlier. But if your CPU is using 100% when gaming you might wanna consider lowering the polling rate.


Also, at least I use black mousepads because in the past other colors, pictures ect. could affect the mouse sensor performance. On some older sensors it's very obvious and the mouse feels weird, on others not so much but can also affect them, the difference is somewhat hard to spot so keep that in mind. These days mouse sensors are much better but as a rule of thumb use a black mousepad to avoid that issue (or at least use pads with just one color-green, blue, grey ect). This could potentially improve your aim a bit if you had that issue before and you didn't know it.

It was difficult in Windows 7 & 8 and few months after Windows 10 came out but now the drivers are digitally signed by Microsoft which means it's easier and no more Test Mode. Unfortunately with every new major Windows Update, Microsoft ruins it. Higher polling rate uses slightly more CPU but it can increase accuracy & help with your aim. In Battlefield Texture Filtering (Anisotropic filtering) also can "stabilize" your mouse & help with your aim. I dont see any reasons why thats not the same in other games.
Install the driver. Choose 1kHz, or 2kHz-4kHz, or 4kHz-8kHz & run the batch file in the driver directory. Run setup, check Mouse Only, choose your mouse, check "filter on device", install service, restart, restart computer the first time. Run setup. Repeat if necessary. The first time you OC the mouse lower polling rate to be sure it works. If it lowers the polling rate then it works but if you can't make it run on a higher polling rate then your mouse can't be OC.

You should know that in 2-4000hz driver 31=2000, 62=4000 and in 4-8000hz driver 31=4000hz, 62=8000hz. Yes you can potentially OC your mouse to 8000hz Polling Rate.

                                                               Check it Out:



The common opinion is low dpi gives you the best aim. Higher dpi + low in-game sensitivity is slightly faster & more accurate but have to have steady hands (many Snipers use it that way). Most pro players use low dpi. I think a part the reason is because many FPS players come from CSGO & this is low sensitivity game. People just copy them & are used to play like that. Low DPI will keep your aim longer on the same spot mitigating the weapons recoil a bit and help with shaky hands.

 The in-game sensitivity handles the mouse sensitivity differently than the dpi. In some games it's just multiplayer to your dpi. The mix from both dpi & in-game sensitivity is the most common user setting. Not too high DPI & not too low in-game sensitivity.

Old mouse sensors were not that good back in the day but these days the good mouses are better suited for higher dpi and low dpi can perform worse than higher depending on the mouse sensor. That doesn't mean you can't play on low dpi. But if you use high sensitivity I encourage you to try only dpi & 0, 1 or 2 in-game. You have more precision but not good for "shaky" hands. In BF4 0 in-game & 1800dpi is = to around 10-11 ingame and 400dpi. Someone told me that 400dpi+12 in-game is the best for 1080p, something to do with math. That makes 800dpi+6. So for 1080p you can also try around these numbers. 

PS: Thank God BattleNonSense made a video so now all the noobs know that higher DPI is faster :D Its laughable but also Sad to see how fake Gurus who claim 10+ years of experience get so hyped about that well known fact & immediately change the sensitivity they used for years to exactly 1600 DPI. LMAO.

Povohat's Mouse Accel (Comunity Based Mouse Driver)
It introduces "good" mouse acceleration, not like the crap Windows "enhance pointer precision". The main difference is that you can set an acceleration cap (+ other settings) and you don't lose your muscle memory. So you can twitch faster when 1 on 1 with someone and turn quicker on him when hip-fire for ex. It can potentially be a big thing if you learn how to use it. A guy called Povohat extracted the Quake Live commands & KovaaK made the GUI. There's an old article about mouse acceleration in Competitive Gaming, just for reference. I will leave a link to a very good site that explain the mouse acceleration and why most people hate it. Honestly I dont play with Windows mouse acceleration but i can say that its hell of a lot better in last Win10 versions and its very subtle. For some people it could improve their aim, if you are used to play without it i suggest to stick to play without it but I can say it's a valid option even for competitive, it's more like a personal preference than anything else. Like I said- most people used only bad acceleration, others just read about it, never used it and decided thats bad because someone said so. I include this because its worth checking if you want to play with acceleration.



Video Tutorial:


And since we talk about mouses I'll briefly mention the The MarkC Mouse Acceleration Fix. Everybody knows it. If you are used to play with it from Win7 & 8 you can keep applying it but its not necessary on Win10.  Here's the link for convenience:

The MarkC Windows 10 + 8.1 + 8 + 7 Mouse Acceleration Fix:

This changes mouse acceleration. Thats it. You don't have to apply the fix every time you install new Windows. Whether you need it or not depends on your mouse sensor. Just check it with "MouseMovementRecorder" and if there are no colors your mouse dont need the fix. Just know when you go to the edges of the window you have colors anyway-that doesn't mean you have acceleration. Your cursor have to be in the center of the "MouseMovementRecorder" window.

====================================================================================

*CPU CORE UNPARKING

Although its not that important for Windows 10 users for previous Windows 8 & 7 its mandatory. Windows 10 parks only 1 core (for 4 core CPUs) and the performance is the same with or without the unparking. But it doesn't hurt to do it. You can unpark the CPU from the CPU Power Settings from the Power Options if you unlock the hidden options. With the comands bellow you will unlock some hidden CPU settings and you can increase your CPU performance with them.

You can Unpark your CPU with these commands but It disables only Windows Core Parking not the Smart Parking in Sky/Kaby/CoffeLake CPUs :

powercfg -setacvalueindex scheme_current sub_processor 0cc5b647-c1df-4637-891a-dec35c318583 100

powercfg -setactive scheme_current

or you can use programs:

(You can disable the C states with the new version of Core Parking Manager called QuickCPU)
All the sliders on 100 & diesble the C-States


or 

(programs use resources though)
AND

 *Unlock Best CPU Power Settings in Power Options Menu:

&

Quick CPU can OC your CPU, including disabling the Power Options & C-States. It has a lot of useful options & over the years the software improved a lot & now is one of the best 3rd party OC programs. ParkControll will tune only the Power Plan Settings & frankly its obsolete at this point. 
CPU Unlocker unlocks almost all CPU options (they are many). After you run the tool As Administrator it will open Power Options Menu. Click on the blue Change Plan Settings shortcut on High Performance or your custom Power Plan can Change Advanced Power Settings in Processor Power Management where you will see the new unlocked power options for your CPU to tweak but Power Settings Explorer is much superior.

You want to disable duty cycling & Allow Throttle States, leave Autonomous Mode enabled. Increase to 100% performance boost policy, performance core parking min cores to 100, energy performance preference policy to 0. If you want your CPU to work all the time on 100% like the old processors tweak Processor idle disable - but thats extreme, most people dont want that, it can be helpful sometimes. It uses more power so if you have an unstable overclock your CPU might crash, you might have to increase the voltage slightly if that happens. Processor performance increase policy-set on Rocket. The others are intuitive.


 POWER THROTTLING. Speed-Shift has to be enabled for this to work so disabling does nothing if Speed-Shift is disabled in BIOS. Not sure for AMD CPUs. Dont disable it because I disable Speed Shift anyway, its useful on Laptops. Its a power-saving feature BUT not a typical one. If it is disabled the programs & processes in the back won't power throttle & will interfere with the game you play at the moment, so it does more than just power-saving. It actually complements Windows Game Mode which worked great in v1703 & above. ps: Desktop CPUs are powerful enough not to miss that feature & you can disable it but you lose a tool that handles the background processes which will use more power, use more CPU resources and compete with the processes you are using atm. People copy all kinds of tweaks that dont know what they do (or think they know) and then are surprised that Windows GameMode doesnt work. GameMode can give you a couple of FPS or slightly improve input lag for slow to mid-range systems but only if you dont cripple it with stupid tweaks. Should have less impact on High-End systems but it's still something you dont wanna disable.

There are many tweaks out there but what's best tweak & value for gaming is a different thing. Also there are several* kinds of Gaming Tweaks - for Performance, Efficiency & for better Picture ect. Remember that. Think & do your research. Only Google is not enough. Especially with this septic pool of misinformation & "wanna be" tweakers.

Unlock Windows Ultimate Performance Power Plan

CMD comand for v1803 and above
powercfg -duplicatescheme e9a/42b02-d5df-448d-aa00-03f14749eb61

for v1709 & before we have to import it in Windows

====================================================================================

Monitors

So about higher hz monitors. I cant stress enough how important that is. A few months ago I OC my monitor to 499hz (I play on 480hz though) & saw the improvements first hand (despite the fact its not real 480hz & skips frames). The picture is clearer (on lower resolution). Although I have dropped frames its still an advantage because that slightly lowers your overall PC latency & allows you to see more frames. Your aim also improves (your reticle/red dot isnt fluctuating as much). Now I have some idea how the new 540hz ASUS monitor would look & feel (no frame skipping).

For BENQ Monitors from the Service Menu or Blur Busters Strobe Utility decrease the Strobe Duty and Strobe Fase to 0 or 1- lowest. This along with other monitor settings will make the monitor slightly faster & more responsive. You most likely can't feel the difference but its there and you will find you perform a little bit better in FPS shooters, if you are good enough player. Competitive gamers need every advantage they can get. Many people will say thats irrelevant because its just milliseconds - "your reactions are way slower that this", bla-bla. Thats bullshit, its not how it works & they're mistaken. Its hard to explain but basically this just shows the video signal slightly faster and you see the enemy real location/position a little faster. That's provided that you have strong enough system to render the image as fast as the monitor can show it. Monitors can show way more if they're fast enough. Its one of the bottlenecks that we can control (Depends also on your Internet Connection, lets assume its good enough). Let me rephrase - the monitor shows faster what the GPU is already drawn. Everybody with experience knows every millisecond counts in FPS shooters. 

BlurBuster for Benq-it controls the Service Menu:
Blur Busters Strobe Calibration Utility utilizes a hidden Service Menu in some of the Benq monitors. You can tweak these settings without it but its good tool non the less. If you have high refresh monitor blurbusters.com is a must-have site & they most likely already made a review of your particular monitor. 


For Benq monitors you can enable the hidden Service Menu by holding down the 2nd button from the left and turn on the monitor (it can differ on some models, just try with every button). After that you can turn on/off (show/hide) the Service Menu with the 4th button from the left. Thats it. It will work on other similar models but the buttons might be different.

My Settings:
Brightness 100, Contrast 50, LowBlueLight-0, BlurReduction-OFF, AMA-High (it's not faster than Premium but I see enemies sharper). InstantMode-ON of course, Sharpness-5 (default-increasing may increase the input lag slightly but could improve your aim. Test it) R=88, G=81, B=95. First enable AMA, then InstantMode. At least thats the case with Firmware v.2. Its fixed in later revisions. 
Of course these settings can be applied to all monitors.

You can also OC the refresh rate of your monitor. You can do it from Nvidia Pannel or CRU
             https://www.monitortests.com/forum/Thread-Custom-Resolution-Utility-CRU

For AMD & Nvidia you need this for DVI and HDMI to unlock higher bandwidth & higher OC potential:
====================================================================================
Update:
Now I wanna talk a bit about the old mechanical HDD vs SSD. This is what i think: When you start the game it loads all the assets like objects, textures ect to the System Memory (RAM). Thats why some ppl have bad performance at the beginning of the round, because the game still loads the assets & that depends on the storage speed. In games with big open worlds, like Battle Ryales where the map is too big & its separated to different sections (and even servers), you can have a similar bottleneck when transitioning from one section to another and the game starts loading new assets to the System Memory. This usually happens for few seconds but might take longer (again depending on your storage speeds, even your internet connection if its too slow). In this moment, with a slow drive you can have stutters or FPS hit, this will be measured by the software, when making a benchmark, as lower FPS & thats why I think some people say SSD has better FPS than a HDD (good one). But after that initial load, the storage is far from its max speeds. This happens for a brief moment of time and its not indicative of the whole game experience. Just like occasional stuttering will show lower 1% & min. FPS, but doesnt show the whole picture. Faster SSD might affect RAM usage (use less or allow you to use more RAM, if u have the capacity, that depends on the game), while HDD has to store a lot of data in RAM to avoid stutters (guess why page file exists), but thats about it. Fast storage will reduce load times & games will have bigger & more detailed worlds/maps, no one is talking about FPS improvements.


Thats why its important to be able to read & interpret the data not just showing test results without context. So if the game is properly optimized you should not see any difference outside a normal variation, maybe, just maybe few FPS more in very demanding games. We are still not there yet. If there was an actual FPS difference there are plenty of good youtube channels that know how to test properly. Dont you think there should be at least 1 video from some of them, explaining why? ye, thats not really a question xD

====================================================================================

BRAIN BOOST
Since my content is for competitive gaming I want to cover everything that can give you an edge, no matter how big or small.


=====================================
===============================================

update
Desktop Window Manager (DWM)
Fullscreen Optimization


Fullscreen Optimisation Mode is enabled by default since build 17093. It's part of Windows Game Mode optimizations. It improves Dx12 games performance, depending on whether is true Dx12 or Dx11 port & the Win. version, thats why this option exists in the Compatibility tab. Many people think that since alt-tabbing is slower when playing games, that means the game runs with increased input lag. It can improve your gameplay in Dx11 games but if its Dx12 title your game will most likely have a higher input lag. It is not a mandatory tweak, use it only if FSE is not working in a Dx11 game or have problems like stutters or high input lag. It could be better to disable it in the Registry but you can have worse latency in Dx12 titles that way.

 In the early implementations, GameMode was more aggressive but more effective when didnt stutter 
(I think was priority-related). They removed some functions to fix that. Anyway. GameMode should be more effective for Dx12 titles where it tries to mitigate the latency penalty from not running in real Fullscreen mode. As of now, Nvidia implemented some Multiplane overlay functions to reduce the delay DWM is causing. It uses overlapping to blend different layers on different parts of the screen. It will process one part of the screen at a time. Judging by the way it works, it could probably remove a good portion of the input lag penalty (close to FSE). These functions are not new, they're here since WDDM v1.3.

The whole Compatibility tab is for debugging & fixing old programs/games when dont work properly, something like "Legacy Features/Settings". Here is a place to mention there are 2 versions of Dx11. A separation must be made b/w Dx12 & Dx11 titles. Dx12 titles benefit from FSO (although it's probably up to the developer to optimise the game for one or another), Dx11 & some Dx12 ports not. No matter the title, video settings in the game should be always on Fullscreen for better input lag. Alt-Tabbing is slower in some games because Windows needs time to exit out of the Fullscreen mode and go to Desktop. This is just Windows "switching gears", this is not a telling sign or proof that the game runs with higher input lag (slow Desktop transition can also be a mismatch between the in-Game Resolutions/refresh rate and Desktop settings). The reason why alt-tabbing is faster on Borderless or Windowed modes is because the Desktop is already buffered. FSO is as they call it Optimized Borderless Mode. You essentially play on the Desktop and the GPU renders both Desktop & the game at the same time so WIndows doesn't need to "switch gears" when alt-tabbing, Desktop is already rendered along with everything that happens in the background- This Causes Input Lag. You can potentially fix slow alt-tab by disabling the desktop composition (which I dont think it can be fully disabled in Win10 without disabling DWM) or forcing the legacy alt-tabbing mode. 

Now a different conversation altogether is that this Fullscreen Mode is not a real Fullscreen but this is the closest "to the metal" as Microsoft allows us to be without completely disabling DWM. In FSO is easier to implement different kinds of overlays in the form of notification pop-ups or when you use different apps, your headphones or keyboard to lower the volume or brightness for ex. In FSE thats still possible but harder to implement & risk a crash, especially when Alt-Tabbing to Desktop or a program, and Dx12 will soon be the only API that the games will be created and they wont use FSE but will be still faster than Dx11 titles when optimized properly. Microsoft is slowly implementing the Dx12 improvements and Nvidia & AMD are following with their drivers. Things like Mesh Shading, Variable Rate Shading & 
Variable Resolution are not possible in Dx11 but they lower the CPU usage & improve performance significantly. You still can disable FSO in registry or disable DWM to have better responsiveness. BTW in my GPU Booster program I have the option to Disable DWM and Enable it back alongside Start Menu, Search bar & the rest of the other Modern UI elements that you disable with DWM. I recommend for most people disabling DWM only temporarily.

If a game uses Administrator rights, it will run As Administrator itself automatically. Its pointless to enable it. This usually has something to do with Anti-Cheat program or other additional software like a launcher or something else.

Desktop Composition

The desktop composition is a feature, introduced in Windows Vista and this changed the way visuals work & how the image appears on the screen. In Windows XP for example, the different windows & programs were created directly to the screen on the go. Nowdays, in Win10, the visuals are being buffered in video memory and then rendered on the display. When something is changed on the screen Windows changes only that part, this saves resources but adds a small delay. That's why people see snappier mouse movement when DWM is disabled. But that cannot be applied automatically for all the games because they work differently & Windows changes the way it behaves when detects a game. (Composition is beneficial for Desktop but bad for games. People need to make that difference. Good for Desktop because it prevents the Shell to refresh constantly which is not needed & saves power (longer battery life for ex), but when its disabled sometimes the display can get jittery cause of the constants refreshes & its not a good experience, especially for less powerful PCs. Bad for games because that causes a delay. Thats why Microsoft introduced the Game Mode - to mitigate some of that delay but only to a certain extent, it does not disable the composition. (people blindly copy tweaks and disable the features that Game Mode uses). This increases progressively over the years with Win7 -8 & now 10. Microsoft implements DWM & embeds it further & further into the OS and it gets harder & harder to disable it. First it was just an option then a service, now it's a separate process & includes multiple files & it's mandatory to use the Modern UI.

Disabling DWM forces Windows to disable Hardware Optimization which in simple terms means that the CPU will be more involved in rendering the Desktop and programs, not the more powerful & optimized for that GPU but it skips that extra step that causes that slight input lag everyone hate (changes the way CPU & GPU interact is more accurate to say). Some programs will use more CPU than normal although that's not a rule. Disabling DWM still has its positives though (better 1%, 0.1% lows & input lag, depending on the hardware). 
Capping FPS is recommended if you have stutters, lags, want lower temps, to lower GPU/CPU% & have less (or around the same) FPS than your monitor hz 
(again, like Hyperthreading it's game depended). If your GPU is above 95-97% then u can cap your FPS
. If the FPS is slightly higher than the refresh rate u have to cap 2-4 fps below your monitor hz. Provided is done properly you can improve your input lag. But that was the old way of fixing input lag, now games have Nvidia Reflex. Its almost always better to cap FPS from the game, if it has that option. Its still preferable to play in a CPU-bound scenario because you get additional performance by higher FPS & lower frame times while have the best possible input lag. Reflex does nothing in this case, in fact it can have a negative effect. I would argue that 300fps is the minimum for FPS Shooter to be responsive enough for competitive gaming. Of course internet connection is king & you can play with 150 fps & still dominate. The game just feel much more responsive on high FPS though.


Here some examples. Read carefully what they say in the beginning:
Quotes:
"But sometimes, it results in a drop in the frame rate (FPS) when in full-screen mode."
"Fullscreen optimizations may lead to better gaming and app performance when they are running in fullscreen mode. However, some people have reported that fullscreen optimizations don't always improve gaming and app performance."



Another good article explaining what's FSE and FSO.

I would add that "performance" here most likely (99%) means throughput/FPS, not input lag & latency. And while I don't believe Microsoft when saying the "Performance" is the same I know that the FPS is the same. Is it buggy-yes but when it works as intended it actually lowers the input lag, just use Windows GameMode and learn how to tweak Windows without breaking it along with its features and then complain about stutters or worse performance. Oh and at the end to make things more confusing: "GPU scaling engages when games are played only in full-screen mode, and not in windowed or borderless windowed mode."-Nvidia. Is that relevant for Optimized Windowed Mode? IDK.


Please, someone educate these people !

These Are The Processes That DWM Supports. 



====================================================================================

HPET

HPET has to be enabled in bios and disabled in Windows. It's disabled in Windows by default & should be Enabled in BIOS by default. If your BIOS doesnt have HPET option its enabled by default. Thats about the only thing you should know frankly. If HPET is enabled in both bios & Windows it will enable HPET and that's not good. You will have around 1/3 less FPS in games & stutters. You can try different timers, twist and turn but you won't have better results than defaults in Windows 10. If you care more about Online Gaming than Desktop use, I recommend you dont use timer bcdedit commands (only if you know what you are doing). They are for troubleshooting. Only a few helpful commands can be used but none of them improves Gaming Performance. U can get better DPCs or ISRs with some commands but that doesnt affect gaming, only Desktop use.

Many people who just copy/paste these commands have stutters after that. In that case you have to delete these commands. Timer Tool & TimerResolution tools make a slight difference for gaming in Windows 10, you can argue 0.5ms is better than 1ms but not by much & it should draw more power. Still, I use it when "tryharding". Windows Timers automatically get on 1ms when detect a game.


This is a unique program. It can fix undetectable for most users problem.
If you have stutters/micro stuttering in games you should try this tool to check if your timer is properly set if you mess with that.

DISABLE:
(Use If You Have Stutters From Enabling HPET)
bcdedit /deletevalue useplatformclock

Disabledynamictick is  Its for LapTop use. Usually this command is recommended to disable some powersavings.
bcdedit /set disabledynamictick yes

DISABLE
bcdedit /deletevalue disabledynamictick

Check it with this command:
bcdedit
WinTimerTester:

====================================================================================

LapTop OC Tools

LapTop Performance Boost

Alternative Software Overclocking

WARNING !!!

Use These tools at your own risk. They can damage your Power Adapter or LapTop or both permanently!

Intel® Extreme Tuning Utility (Intel® XTU)

 This program is working on basically all Intel CPUs from the 3000 to 900 series It has built-in benchmark and monitoring software. If you read the whole tutorial + the video you will know what to do. There is no shortcut here. You have to know what to do otherwise you can brake your laptop.




AND

ThrottleStop 
(for Intel Core 2 & Core I CPUs)

Most LapTop Bioses don't support Overclocking so this software is good alternative. It can be used on Desktop computers as well. On locked CPUs for example. Both programs can.

ThrottleStop can bypass the CPU throttling. You can disable the power saving features like C-states, SpeedStep, SpeedShif ect, You can Increase the Multiplier, BCLK, TDP ect. if your system support it.

You also can undervolt to increase the battery life & lower the heat. If CPU throttle it can increase the performance. Both programs allow it. I'll leave few links which I strongly recommend to read. If you set the power above your Power Adapter you can damage it along with your LapTop.

WARNING: ThrottleStop is an Intel Core 2 and Core I performance monitoring and modification tool. Some manufacturers throttle CPU performance to protect their motherboards or the power adapter from being damaged so keep that in mind before making any changes. Using ThrottleStop to overclock or undervolt your CPU or to disable a laptop manufacturer's throttling scheme may damage your computer and it's at your own fucking risk.

READ FIRST !!!

====================================================================================

1,3,4 & 5

(Console Commands & cfg)


For BF4: Uncheck "Enable video background for this device/browser" In Settings in your Battlelog Profile. For some reason it uses around 10% of your CPU. Turn Off Origin In Game and notifications. If you have directX related issues go C:\Program Files (x86)\Origin Games\Battlefield 4\__Installer\directx\redist and run DXSETUP.exe file to update/fix your directX version. Sometimes that could be from unstable GPU overclock and/or overheating. If you have serious issues with video drivers and want to remove them you might have to use DDU. It works best in Safe Mode but you can use it normally as well. Be careful, this tool can ruin your Windows if done wrong.  https://www.wagnardsoft.com/

 You can also Repair Battlefield from Origin with right click on the game. If you don't have enough RAM & you have lag you cant try fix it using x32 bit version of the game. 

*My .cfg File for BF4
(30-40fps boost on 4 Core CPU. The more powerful the CPU, the less improvement).

Place it in Battlefield 4 folder:  C:\Program Files (x86)\Origin Games\Battlefield 4

PerfOverlay.DrawFps 1

WorldRender.PlanarReflectionEnable 0
WorldRender.MotionBlurEnable 0
WorldRender.MotionBlurQuality 0
WorldRender.MotionBlurMaxSampleCount 0
WorldRender.MotionBlurRadialBlurMax 0
WorldRender.MotionBlurForceOn 0
WorldRender.MotionBlurFixedShutterTime 0
WorldRender.MotionBlurMax 0
WorldRender.LightTileCsPathEnable 0
WorldRender.DxDeferredCsPathEnable 0
WorldRender.SpotLightShadowmapEnable 0
WorldRender.SpotLightShadowmapResolution 64
WorldRender.TransparencyShadowmapsEnable 0
RenderDevice.Dx11Enable 0
RenderDevice.Dx11Dot1Enable 0
RenderDevice.Dx11Dot1RuntimeEnable 0
RenderDevice.StereoConvergenceScale 0
RenderDevice.StereoSeparationScale 0
RenderDevice.StereoSoldierZoomConvergenceScale 0
RenderDevice.VSyncEnable 0 
PostProcess.DofMethod 0
PostProcess.BlurMethod 0
PostProcess.DynamicAOEnable 0
PostProcess.DynamicAOMethod 0
Render.VSyncFlashTestEnable 0
RenderDevice.RenderAheadLimit 1
RenderDevice.ForceRenderAheadLimit 1
RenderDevice.DxDiagDriverDectectionEnable 0
RenderDevice.TripleBufferingEnable 0
WorldRender.FxaaEnable 0
Render.DrawScreenInfo 0
PerfOverlay.FramefileLogEnable 0
GameTime.MaxVariableFps 500

Thread commands are useless these days. They used to give around 25% more FPS on Hyperthreaded CPUs:

Thread.JobThreadPriority (higher is better, not lower #) 
Thread.ProcessorCount (your CPU thread #) 
Thread.MaxProcessorCount (your CPU thread #) 
Thread.MinFreeProcessorCount 0

# If WorldRender.MotionBlurEnable is 0 other blur commands doesnt work. 

# If you want to see supression:
# WorldRender.MotionBlurEnable 1
# WorldRender.MotionBlurRadialBlurMax 1 

# WorldRender.MotionBlurFixedShutterTime 1
# If WorldRender.SpotLightShadowmapEnable is 0
WorldRender.SpotLightShadowmapResolution 64 doesnt work.

It works for all Battlefield games on Frostbite like BFH, BF3, BFV. Some commands wont work but most will. I cap my fps on 500 but you can change that. Just don't cap it to 60 if you have more fps because it's stupid. Only if you have stutters. Or don't care about performance. In that case why da fuck are you reading this...?!?

This is one of the best .cfg files as far as Im concern, it has all performance related commands:

I see many .cfg files with commands like: RenderDevice.DxDiagDriverDectectionEnabl-e 0 
its not correctly shown after the copy/paste from internet. You should fix that one.  RenderDevice.DxDiagDriverDectectionEnable 0 is the correct one. People actually think that's 2 separate commands and leave them both :D. Stop mindlessly copy/pasting, do your research.

C:\Users\User Name\Documents\Battlefield 4\settings\PROFSAVE_profile Settings

These are the most relevant settings. Of course most of them can tweak in game but there are few you can't. This will work for other BF games as well, where the commands are the same.

GstRender.AmbientOcclusion 0
GstRender.AnisotropicFilter 0  or  1 or 2
GstRender.AntiAliasingDeferred 0
GstRender.AntiAliasingPost 0
GstRender.ConsoleAntiAlias 0 - doesnt affect the performance but u still can disable
GstRender.EffectsQuality 0
GstRender.Enlighten 0 - can lower or disable the Sun/light glow effect 
GstRender.LightingQuality 0 - shadow detail
GstRender.MeshQuality 2 or 3- how far the game renders the world around you
GstRender.MotionBlur 0.000000
GstRender.MotionBlurEnabled  0
GstRender.PostProcessQuality 0
GstRender.ShaderQuality 0.000000 or 1.000000
GstRender.ShadowQuality 0 or 1
GstRender.StereoConvergence 0.000000
GstRender.Stereoscopy 0
GstRender.TerrainQuality 0
GstRender.TextureFiltering 0  or  1 or 2 - slightly affects mouse movement-can help with aim. Slows it down slightly. No performance drop. When i say slightly i mean it. It helps me when lower the resolution. TextureQuality also have a similar effect but it has a performance hit.
GstRender.TextureQuality 0
GstRender.TransparentShadows 0
GstRender.UndergrowthQuality 0
GstRender.VSyncEnabled 0
GstRender.WeaponDOF 0
GstInput.Deadzone 0.002000 or 0.001000 or 0.000000 - for mouse responsiveness (0 is fastest). Keep in mind it affects the Aim dot behavior.
 Its very subtle but its there. Just know it can affect slightly your aim when you fire, depending on your personal play style & way of shooting - Tap-Fire, Longer Bursts. 0.002000 is a nice middle.
GstInput.MouseRawInput 1 - Disables Windows mouse settings. 1 to 1 mouse input

Battlefield 4 Ports:
TCP: 80, 443, 9988, 20000-20100, 22990, 17502, 42127
UDP: 3659, 14000-14016, 22990-23006, 25200-25300 

there are more

Smart_Port_Forwarding App

how to:

Punk Buster Setup

Unzip the app and put it in the game directory (where the bf4.exe is located)
Start it & Click "Add a Game". Choose the game. Click "Update PunkBuster"

I will make a separate post for BF5 .cfg file when all the commands come out. In Alpha & Beta some commands were very buggy so need time.

====================================================================================

Keep in mind that internet connection is the main factor but except ping there are other metrics and circumstances that make a connection good or bad. Death by High & Low ping players feels almost the same. 

====================================================================================

BGS_n1kobg

My PC is Maxed Out which means that I have the highest OC on my CPU, GPU, RAM and thats the ceiling of its PC performance. With that said I have i5 7600K and biosflashed GTX970 but the performance is more like I7 4790k and GTX 980 stock. This is the maximum performance with this configuration and possibly even slightly more with some Windows tweaks. In Cinebench my highest score is 900 (which is a lot for 4 core i5), in Valley Benchmark - 71,2fps (Extreme HD 1920x1080 8xAA fullscreen). Sadly my card has only 2 6-pins so the power delivery is stopping me to "unlock" the card. The ASIC Quality Rating is 77.3 which puts it among the first 14% in GPU-Z. 270-560fps in BF4 on 1080p LOW (Mesh-High).

====================================================================================

My Setup Was:

I5 7600k 5.297ghz (BCLK:103.8765)/ AsRock Extreme 4 
 HyperX Fury: 2x2666mhz OC:3200mhz-tweaked timings
GTX970 SuperJetstream - bios flashed 
GTX980Ti G1 Windforce - bios flashed 
 Kingston V300 & WD SSDs + Hitachi SSHD
 PSU: Fortron 700W 
***
Benq XL2411Z 144hz 1ms.
Redragon Mechanical Gaming Keyboard 
Mouse: Cougar Minos X5 (2000hz) dpi:1800 Sens: 0 or 1400dpi +1 in-game
Headset - SONY Wireless MDR-RF810R & HyperX Cloud II Pro


====================================================================================
My Best Score now is 911 in Cinebench R15. For 4 core CPU thats not a small amount.

====================================================================================









                    END













If you like the article comment below and tell me what you think. Is there something I missed? Aks me anything. You can write in the comment section down below.

If you learned something pls Donate, if you haven't learn anything - why you lieing :D
I mean if someone wants to support my work & buy me a drink you can Donate Or Consider Becoming a Patreon which will help me a lot. Thank You.

====================================================================================