How to correctly set Receive Side Scaling (RSS)

Everything about latency. This section is mainly user/consumer discussion. (Peer-reviewed scientific discussion should go in Laboratory section). Tips, mouse lag, display lag, game engine lag, network lag, whole input lag chain, VSYNC OFF vs VSYNC ON, and more! Input Lag Articles on Blur Busters.
JimCarry
Posts: 586
Joined: 24 May 2024, 20:01
Location: csgo

Re: How to correctly set Receive Side Scaling (RSS)

Post by JimCarry » 13 May 2025, 23:47

geo868 wrote:
11 May 2025, 19:41
Bumping an old thread but as someone who went down a bit of an 'RSS rabbit hole' i thought id add some clarity around the global task offload setting and which drivers to use

I have a Realtek NIC but i have been stupidly using the Realtek drivers directly from their website, if you are using an NIC that is part of an OEM board ( ie you are using a gaming motherboard such as ASUS , GIGBYTE etc and not some corporate or other NIC) you should ALWAYS download the NIC drivers from the motherboard vendor directly , if you don't you will end up with drivers that do not correctly or fully match your Device ID and therefore you will not get the correcting setting appear for your NIC in the advanced settings page in device manager.

I had no RSS setting visible and as soon as i downloaded the drivers from my motherboard vendor directly i then had the correct settings listed in device manager, however as i discovered from an article on the subject ( which i have quoted below) and as someone who often follows "gaming tweak advice " i had TaskOffload disabled which can be confirmed by running ' get-netoffloadglobalsetting ' in power shell and seeing TaskOffload : Disabled

If task offloading is disabled RSS will not work correctly regardless of what you see in the direction tables and regardless of what Get-NetAdapterRss reports, keep TaskOffload enabled and then disable the offloads you want in the NIC settings, ip4v check sum offload is required but the others are not ( tcp, udp, etc)
This is because disabletaskoffload relates to how NDIS handles the global setting which offloads certain calculations (like checksums) from the CPU to the NIC. The same setting can be activated in powershell using:

set-netoffloadglobalsetting -taskoffload enable/disable

You can view the setting by entering into powershell:

get-netoffloadglobalsetting

First, the simple explanation for the indirection table disappearing is that RSS does not function without checksum offloading. Second, regardless of your NIC settings, checksum offloading does not function if you have task-offloading disabled. Hence, globally disabling task-offloading prevents RSS from functioning correctly.

Disabling taskoffloading globally also causes some performance issues even without checksums or LSO enabled. Some NIC's have buggy firmware or drivers that do a poor job of handling/calculating certain checksums so despite popular misconception, enabling all checksum offloading on your NIC does not always result in a performance increase. As an example, some older intel NICs perform poorly when handling tcp-ipv6 tx checksums and will generate many re-transmits when tcp-ipv6 tx/rx checksums are enabled. This is very easy to see by looking at the number of "segments retransmitted" under TCP statistics for IPv6 when looking performance statistics using "netstat -s".

However, even in this situation, it is far better to disable those troublesome checksum-offloads individually on the NIC rather than globally disable task-offloading.
on my new usb nic there is only 8 options showing rss dont exist the driver is from 2015 and its way better then on board 2.5 reltek.

geo868
Posts: 2
Joined: 11 May 2025, 19:31

Re: How to correctly set Receive Side Scaling (RSS)

Post by geo868 » 14 May 2025, 17:25

on my new usb nic there is only 8 options showing rss dont exist the driver is from 2015 and its way better then on board 2.5 reltek.
my on board NIC is fine , full 1gbps throughput , no dropouts and i never seen any send or receive errors , i wouldn't want to offload too much to a USB NIC anyway , the internal pcie lane with msi mode enabled gives the best performance for me , just have to use the right driver

NotaBotY2k
Posts: 6
Joined: 14 May 2025, 19:14

Re: How to correctly set Receive Side Scaling (RSS)

Post by NotaBotY2k » 19 May 2025, 16:44

I've had issues on different pc's and the rss settings seemed to be the issue now.

NIC RSS on or off Gaming latency? Does it really matter? Latency should be negligable either way I imagine. But something was wrong and causing latency in games. Idk how to do the labs on all that. But I kept having hiccups and latency issues now at RSS 2 cues seemed ok but didn't know whuch had lowest latency or if it mattered.

Wifi6 ax seems fine and negligable latency in games. After multiple computers and issues with NIC's I hadn't been able to resolve the issue and just learned it may be RSS causing the problems.

We're talking in seconds of latency which matters in fast paced games.

¯_(ツ)_/¯

Watchdog
Posts: 21
Joined: 01 May 2025, 01:14

Re: How to correctly set Receive Side Scaling (RSS)

Post by Watchdog » 05 Jun 2025, 19:52

MatrixQW wrote:
20 Aug 2024, 08:11
UFO_Pilot wrote:
18 Aug 2024, 21:03
Sorry I misstyped that, enabled would be
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
DisableTaskOffload 0

I'm wondering about this because on this current setup I wanted to use this RSS optimization but can't use TaskOffloads enabled, it's fine for browsing but for games and mostly in CPU bound games oddly it messes with the gameplay pacing games feel slowed down like something is blottlenecking.

This motherboard comes with Intel I219-V network card, on the first years I remember after installing the drivers on advanced tab of network settings there would be an option for enabling RSS but with the latest drivers that option is no longer there.

If I force it and do it from registry a entry shows up in the network card advanced tab as "no description"
"The Intel® Ethernet Connection 82579, I217, I218, and I219 Network Adapters do not support Message Signaled Interrupts (MSI-X), multiple receive queues are thus handled by a single CPU core.
This prevents the use of these network connections in SMB-Multichannel configurations."

Intel dropped RSS support in their drivers, you need to add the registry keys manually.
I think if you set RSS queues = 1 you should be able to use it.

I225-V: Check Anonymous's 09-27-2023 comment. If after adding the keys it still doesn't work, check if you have that key "ReceiveScalingMode" and maybe remove it or set it to 0. I don't have that key.

Here are my keys in screenshots and a zip with a reg file you can edit, in case you missed something:
What's your receive and transmit buffers? Thank you.

User avatar
St1cky
Posts: 17
Joined: 24 Apr 2023, 18:28

Re: How to correctly set Receive Side Scaling (RSS)

Post by St1cky » 02 Aug 2025, 06:22

Intel NIC Driver:

ReceiveScalingMode:
0 = No scaling, simple interrupt model, Disabled.
1 = RSS enabled (default hashing)
2 = MSI-X / Enhanced scaling mode

InterruptMode:
0 = Legacy ( Simple IRQ setup, no per-queue affinity, less efficient )
1 = MSI ( only one interrupt vector used )
2 = MSI-X ( Calls subroutines to register many IRQs and assign to queues )
3* = Adaptive / Auto ( Tries MSI-X, falls back to MSI or Legacy depending on caps )

EnableLHRssWA (*Enable Low Hash Receive Side Scaling Workaround):
Additional flags are set on the RSS hashing configuration, when Enabled ( Default = 1 ).
0 = Disabled
1 = Enabled
EnableLHRssWA only influences behavior when ReceiveScalingMode == 1

DisablePortScaling
0 = Disabled
1 = Enabled ( Default )

ManyCoreScaling - ( DisablePortScaling needs to be Disabled )
0 = Disabled
1 = Enabled ( Default )




I think this should be correct, as far as I've looked at the NIC driver. You could test it with benchmarks.

Muxolini87
Posts: 16
Joined: 18 Mar 2024, 15:34

Re: How to correctly set Receive Side Scaling (RSS)

Post by Muxolini87 » 11 Aug 2025, 14:06

Hello Matrix.
Can you make me settings for ryzen 5 5600x?
6 core 12 threads. Ty

LaggyTyp
Posts: 177
Joined: 07 Apr 2024, 16:16

Re: How to correctly set Receive Side Scaling (RSS)

Post by LaggyTyp » 16 Aug 2025, 22:46

I have Windows 11 and my NIC is an Intel I225V. I no longer have the RSS option. I think I did back then, though.

Why isn't this option available anymore?
Because of Windows 11?
Because it's just bad?

User avatar
Slender
Posts: 1548
Joined: 25 Jan 2020, 17:55

Re: How to correctly set Receive Side Scaling (RSS)

Post by Slender » 16 Aug 2025, 23:11

LaggyTyp wrote:
16 Aug 2025, 22:46
I have Windows 11 and my NIC is an Intel I225V. I no longer have the RSS option. I think I did back then, though.

Why isn't this option available anymore?
Because of Windows 11?
Because it's just bad?
cuz there is 2 variants of nic driver:
win 10/11: ndis.sys
win11: wdf01000.sys

adrian_13371
Posts: 36
Joined: 04 Sep 2024, 09:39

Re: How to correctly set Receive Side Scaling (RSS)

Post by adrian_13371 » 17 Aug 2025, 06:14

i have i226v and i have neither the rss or receive/transmit buffer settings, i just use defaults

Post Reply