Thursday, 5 April 2018


How To Increase RSS Queues and tweak Receive & Transmit Buffers In Windows 10


You can't find this tweak anywhere else in the internet space. If  You do it came from here.


Im going to start right away. RSS Queues tweak wont work unless your driver allows it. Rx & Tx increase works on every driver as far as I know. Like we know Intel NICs have only 2 Queues. For this to be working you need RRS to be enabled to activate the Queues.

This page is not updated. in fact IDK why keep it :D The main page is updated, 
better explained & has more info.

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

You can find the correct path for your Network Adapter from Driver Key. Look the screenshot below. This should work on non-Intel network adapters as well.


You can change all network settings from here along with RSS Queues. The following steps should work on every Windows 10 version and Network Driver:

This is the default Intel settings.

We just need to add 2 more queues. Right click on 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". You can even add more if you have 6 or 8 core CPU. I encourage you to test it.I know up to 4 they are active. IDK  for more.

Follow the screenshots bellow.
3 Queues
4 Queues

The server version of the driver supports more than 2 queues,  you just need to "unlock" them. You have to enable Receive Side Scaling and Checksum Offload if you want to use the RSS queuesThe number of RSS allocated Queues depends on the CPU core count. Keep that in mind. Increasing the queues improve the throughput for different kind of workload environments. Since v1803 Microsoft introduced RSSv2 which is faster & more responsive. 
You have to know that it also has some minor delay but in many games it's better enabled, you just have to test it by yourself. If you use Matchmaking for testing you should leave someone else to do it for you because you obviously don't know what you are doing. 

Now here's one more tweak relevant to Gaming/Performance and affecting Hit-Registration in games. 

Tx & RX Buffers

You also can set the minimum and maximum values for Transmit & Receive Buffers (default values as well but you don't really need to change them, RSS Queues as well).


                                                                             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


TransmitBuffers
ReceiveBuffers

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..


I found this tweak playing around in Registry Editor because it was bugging me, I had Realtek NIC & it have more queues & wider values range. It will be way easier if Microsoft release something like a Registry tweak guide or just describe the changes more in-dept than they do now and update it with the new Windows versions. The one they have now is very scares. 

Please give this tutorial only to people who want to learn.


Comment bellow.

Additional Info:

If the path is changing the registry settings and the batch comands wont work. Thats why I made the tutorial. Never the less the batch commands looks like this:


RSS Queues: Download -inactive
Tx & Rx Buffers: Download -inactive


Buy Me A Beer Here:

Donate





37 comments:

  1. but if the adapter have only 2 queues doesnt mean he is designed by manufacturer to suport only 2 queues?

    ReplyDelete
    Replies
    1. We dont touch the adpapter. We tweak the driver. It doeas what drivers tells him to do.
      All other adapters use 4 queues. Intel use 2 because the benefit for home users are not scaling & increases the CPU usage. In Windows Server versions their drivers have 4 queues, even more. More quques actually help to process the data packets slightly faster which is what we need.

      Delete
  2. thank you for this info.i have been looking for this for a long time.my old pc had intel nic and it had 2048 tx and rx .but in new pc with realtek nic only 512 and 128.i thought it was driver based and can't be changed.

    ReplyDelete
  3. I tried doing the RSS queue tweak, selected four queues and restarted. Used Get-NetAdapterRss, where it showed no effect. Useless tweak that is already being propagated elsewhere on the internet. Intel specification will show max number of queues supported, no difference between Server or home OS.

    ReplyDelete
    Replies
    1. That command shows the ReceiveQueues not all queues.

      Delete
    2. I could show u how to check that its working but since its "useless" u dont need to use it. Same with netsh int tcp set supplemental Internet congestionprovider=CTCP & netsh interface tcp show global commands. Its not there so it doesnt work, right :D
      I want you to post a link of that tweak since "is already being propagated elsewhere on the internet".I mean for Win10 not old Win. versions.

      Delete
    3. I just ran "Get-NetAdapterRss" in the PowerShell after implementing this tweak and it does in fact report that I have 6 queues (I have a 6-core CPU, so I added 6 queues). I'm not sure what Anon is on about it being "useless", unless they either implemented it wrong or their hardware simply doesn't support more than 2 RSS queues.

      Delete
    4. Alright, so I recently ran "Get-NetAdapterRss" in PowerShell again and it seems that the output from the command differs between an administrator PowerShell window and non-administrator. I'm still not sure which one is more accurate, but the admin one shows only 2 RSS queues in use despite being set to 6.

      Delete
  4. Very nice article, I enjoyed reading your post, very nice share, I want to twit this to my followers. Thanks!. https://pingtestlive.com/fortnite

    ReplyDelete
  5. Should i enable all the checksum offloads or only the ipv4 one?

    ReplyDelete
  6. A little problem here: [4d36e972......] -> 0001 -> 'Params' is missing. This guide is maybe outdated?

    -----
    Windows 10 1909

    ReplyDelete
    Replies
    1. It says that this is different for every PC. "
      You can find the correct path for your Network Adapter from Driver Key. Look the screenshot below. This should work on non-Intel network adapters as well."
      Maybe your diopters on the prescription glasses are outdated?? If you have 4 cores or less dont bother.

      Delete
    2. As you can see from my previous comment, I did use the driver key to find the place to set things up. I just spent $700 for new glasses to make sure I was in the right place... and still 'Params' is missing. Maybe you need to clean up your glasses to see better what I'm writing eh?

      Delete
    3. Im sry for the negative comment before but if you cant find your NIC's path then you're maybe in the wrong place :) Its not necessary to be in 001, check 007, 002 ,00 whatever,check them all, its there. If its not there then you got the wrong GUID or maybe you have a different internet adapter.

      Delete
    4. @n1kobg i found mine in "0011"... i have a realtek adapter.

      Delete
    5. Your Windows is probably older and u changed & preinstalled drivers more than few times :)

      Delete
  7. The one in the main guide is more detailed, with more info.

    ReplyDelete
  8. So I was ableto do this tweak before but after doing a network reset I cannot see the Params folder? any idea?

    ReplyDelete
  9. There is like 6 different offload settings.. which one do we enable for the extra queues to work?
    On mine i see

    - TCP Checksum Offload IPv4 & IPv6
    - UDP Checksum Offload IPv4 & IPv6
    - NS Offload
    - IPv4 Checksum Offload
    - ARP Offload
    - Large Send Offload V2 IPv4 & IPv6

    ReplyDelete
  10. I was talking about this: IPv4 Checksum Offload
    But I think RSS is working without it enabled. LatencyMon is showing the driver is working on the Core I pinned the RSS so that recomendation was probably on old Windows versions.

    ReplyDelete
  11. dude pleas update Link Its Not Working pleas :(

    ReplyDelete
    Replies
    1. What link? Also read the main blog page. its updated, better explained and has more info.
      http://n1kobg.blogspot.com/

      Delete
  12. could i ask is there anyway to increase receive buffers and transmit buffers on the realtek network adpater, i have been looking through the registry, but i cant find it, im stuck at 512 ans 128

    ReplyDelete
  13. I run a amd Ryzen 7 3700x 8 core 16 thread processor sometimes it shows that i have 8 logical processor instead of 16 do you know of any reason why that may be? Also my default buffer sizes are 512 and 126 but i have 32GB ram can i increase that buffer size without any problems? Realtek ethernet btw.

    ReplyDelete
  14. Yes, u can increase the buffers. I think 3700x is one of the good for gaming CPUs since it has 1 ccx. You dont specify where exactly shows that u have 8 or 16.

    ReplyDelete
  15. I can't get add on congestion control provider to change to ctcp. anyway around this? it's still saying default

    ReplyDelete
    Replies
    1. On Win 10 after certain version u need to use this command
      netsh int tcp set supplemental Internet congestionprovider=CTCP
      If its still saysdefault then u look this irelevant command: netsh int tcp show global
      In this case go to my blog and Ctr+F to search for this: AFD_Parameters & CTCP Tweak its a reg file.
      Or make a .reg file and apply it:
      Windows Registry Editor Version 5.00

      [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nsi\{eb004a03-9b1a-11d4-9123-0050047759bc}\0]
      "0200"=hex:00,00,00,00,01,00,00,07,00,00,00,00,00,00,00,00,1e,00,00,00,00,00,\
      00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,ff,\
      00,ff,00,ff,ff,00,00,00,00,00,00,00,00,ff,ff,ff,ff,00,00,00,00,00,00,00,00,\
      ff,ff,00,00,ff,ff,ff,ff,00,00,00,00,00,00,00,00
      "1700"=hex:00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
      00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
      00,ff,00,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
      ff,00,00,00,ff,ff,ff,ff,00,00,00,00,00,00,00,00

      but this is for Win8 not 10. I suggest to use the command if use Win10. U can check with that command: netsh int tcp show supplemental

      Delete
  16. i found on the internet this:
    Transmit Buffer size should be twice that of Receive Buffer
    is this true? Can i keep receive buffer higher than transmit since the game i play is dependant on download speed?

    ReplyDelete
  17. friend, I would like to know the settings of the other folders in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\0001\Ndi\params.
    like *LsoV2IPv4, *LsoV2IPv6 and all the other folders that are in the image of you configuring ReceiveBuffers.

    ReplyDelete
  18. On Win 21H1 the place to set the amount of RSS Queues seems changed from 0001 to 0013. At least I didnt see anything but max 2 queues when editing the folder 0001. Editing the 0013 folder did the job.

    ReplyDelete
  19. In my case the location of the registry entries is in 0001 and not 0000 so look out for that if you cannot see it in 0000

    ReplyDelete
  20. Hey, why u are this don't work, I follow this tuto, for me to in 0013 place, and it works and I can see the difference my connection is 500/100 Mbps and now I can get it for full speed, I'm using 6 queues and 6144 transmitters, before I only get max 2 queues and 2048 transmitters and for me it maybe 10% better connection, thx for this amazing tuto, keep it on.

    ReplyDelete
  21. aimbot and regedit

    ReplyDelete