• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

Fall Creator's Update brings siginificant performance improvement in game mode

I'm using Microsoft's generic HD Audio driver for my Realtek and I have it set to 5.1 out so virtual surround isn't even an option. My Micca Origen+ (stereo DAC/amp) doesn't have an Enhancements tab at all.


I don't have an NVIDIA card but I do wonder if that has something to do with it. Game Mode could easily be derived from technology designed for Xbox One X that generally only works on GCN which they share.
HWunboxed tested Vega 64 LC with 3 different CPUs (both amd and intel) so I gotta say no, it's not GCN/NCU specific. It's just bogus charts by Joker. I think I should edit the thread title and put fake news as the source :laugh:

ZPJrgpG.gif
 
And yet, Unreal Engine 4 does show a difference in the Game and Draw performance counters.
https://docs.unrealengine.com/latest/INT/Engine/Performance/Overview/index.html

"The actual frame time is limited by one of the three: Game (CPU game thread), Draw (CPU render thread) or GPU (GPU)."

Game Mode has a measurable impact on the CPU, not the GPU. If the CPU is the bottleneck, it will effect frame time which, in turn, effects frame rate.
 
Last edited:
And yet, Unreal Engine 4 does show a difference in the Game and Draw performance counters.
Like I said, performance improvements some users are seeing are most likely because something wasn't working as it should have rather than a clear cut performance increase. Like CPU overhead on AMD drivers in some CPU intensive scenarios.
 
I would not phrase it that way. "Joker" clearly had some kind of a CPU bottleneck in the game he tested that Game Mode alleviated. I don't even know what CPU he's running and none of us know what kind of software he has running in the background but that legitimately explains the observed performance gain. Will it apply to everyone in all circumstances? No. Will it help some people in some circumstances? Unequivocally yes.
 
Last edited:
There's a long way from "it does something for some people" to showing performance improvement across all the games and resolutions. That's why it can't do dick for me or the majority of users I've read who post no improvement. His video is clearly a clickbait and the update is more like a fix for some things that needed adressing rather than an across the board improvement.
 
If this game mode does remedy issues with already problematic or troubled PCs, then you'd have to admit it will be worth it's weight in gold to users/gamers with those types of PCs.

If 15 or 20 years ago I had a checkbox that I could check, to make it so my crappy computer that I was running at the time ,could play the crappy games I was playing at the time, I would've been super psyched
 
I retested in Consortium: The Tower. I did it longer and actually in the game instead of just sitting at the main menu. For the first two minutes or so, I thought Game Mode wasn't having an impact. Then the blizzard in the game kicked up and the frametime began pulsing because of the GPU renderer. After a long time waiting for it to settle, I started turning Game Mode on and off and the Draw thread clearly responded rising and falling based on Game Mode setting. And just when I thought I was getting somewhere, the mouse locked up on the Windows overlay and even in the game proper. I had to close the game down.


Remember, people that play games full screen can't even use it.
 
This is not possible. Previous update fixed my problem with 15.9GB installed instead 16GB.
Because of that error Intel Diagnostic Test IMC Failed, I was scared that maybe IMC in processor die and start to search used CPU for X99 platform.
Than I check Log of test and saw that test fail because memory size, I knew than 15.9GB and 86MB hardware reserved make problems but I couldn't do nothing to fix that and all tries to use all memory make only bigger mistake in memory reading.
After update from 15xx to 1703 problems gone and Installed memory is 16GB.
IPDT IMC Test Pass. Now I don't know what to to update again or not.

I don't believe that games work better more than 2%.
 
If this game mode does remedy issues with already problematic or troubled PCs, then you'd have to admit it will be worth it's weight in gold to users/gamers with those types of PCs.

If 15 or 20 years ago I had a checkbox that I could check, to make it so my crappy computer that I was running at the time ,could play the crappy games I was playing at the time, I would've been super psyched
It's not about making old PC somehow relevant but rather dealing with new(ish) hardware configurations underperforming.


@Vlada011 I had 15.9GB usable when I was still on win 8.1, but it hever gave me any issues and frankly I didn't give it much thought. It's nice to know what was the reason.
 
I have to ask, since MailMan said CU needs to be installed in UEFI vs Legacy mode, does that mean you need a UEFI MB BIOS? I ask because I don't see such a thing listed as a requirement for CU.

I'm pretty sure my old ASUS P6X58-E is not a UEFI BIOS type MB.
 
No, I think that was just a mistake he made because he prefers UEFI (probably to get GPT boot). And yeah, X58 isn't UEFI.
 
I have to ask, since MailMan said CU needs to be installed in UEFI vs Legacy mode, does that mean you need a UEFI MB BIOS? I ask because I don't see such a thing listed as a requirement for CU.

I'm pretty sure my old ASUS P6X58-E is not a UEFI BIOS type MB.
No, not that I know of, I'm running it on legacy mode (Z97) though I can't say too much about the much older x58 platform.
 
Sandy Bridge is 12 years old.
Sandy Bridge is only 8 years old if you consider from the earliest release of a SB chip, it's more like 12 years old if you're talking about when SB development began, not when it was available to the consumer but, 8 years is still a well aged CPU.
 
Win 10 game mode exposed, here's what Microsoft took out from the Registry. But you can rewrite it to the registry and the tweak stills works. Also if you ever want to see what a program is changing in the Registry you can use a app called Regshot and I found around 15 tweaks added and 4 removed.

Code:
If CheckBox.Checked = True Then
Dim regKey As RegistryKey regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks\Low Latency", True)
regKey.SetValue("Background Only", "False")
regKey.SetValue("Scheduling Category", "High")
regKey.SetValue("SFIO Priority", "High")
regKey.SetValue("Priority", "1", Microsoft.Win32.RegistryValueKind.DWord)
regKey.SetValue("Clock Rate", "2710", Microsoft.Win32.RegistryValueKind.DWord)
regKey.SetValue("GPU Priority", "2", Microsoft.Win32.RegistryValueKind.DWord)
regKey.SetValue("Latency Sensitive", "True")
regKey.Close()

Else

Dim regKey As RegistryKey regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks\Low Latency", True)
regKey.SetValue("Background Only", "True")
regKey.SetValue("Scheduling Category", "Normal")
regKey.SetValue("SFIO Priority", "Normal")
regKey.SetValue("Priority", "0", Microsoft.Win32.RegistryValueKind.DWord)
regKey.SetValue("Clock Rate", "2710", Microsoft.Win32.RegistryValueKind.DWord)
regKey.SetValue("GPU Priority", "1", Microsoft.Win32.RegistryValueKind.DWord)
regKey.SetValue("Latency Sensitive", "False")
regKey.Close()

End If

 My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Control Panel\Desktop", "HungAppTimeout", 1000, RegistryValueKind.String)
        My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Control Panel\Desktop", "WaitToKillAppTimeout", 1000, RegistryValueKind.String)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control", "WaitToKillServiceTimeout", 2000, RegistryValueKind.String)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management", "DisablePagingExecutive", 1, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters", "EnableSuperfetch", 3, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters", "EnablePrefetcher", 3, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction", "Enable", "y", RegistryValueKind.String)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem", "NtfsDisableLastAccessUpdate", 1, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU", "NoAutoRebootWithLoggedOnUsers", 1, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\wscsvc", "Start", 4, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "MaxConnectionsPer1_0Server", 10, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "MaxConnectionsPerServer", 10, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_MAXCONNECTIONSPER1_0SERVER", "iexplore.exe", 10, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_MAXCONNECTIONSPERSERVER", "iexplore.exe", 10, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile", "NetworkThrottlingIndex", -1, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Psched", "NonBestEffortLimit", 10, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Control Panel\Desktop", "ForegroundLockTimeout", 0, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "EnableBalloonTips", 0, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "StartButtonBalloonTip", 0, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Control Panel\Desktop", "MenuShowDelay", 100, RegistryValueKind.String)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSMQ\Parameters", "TCPNoDelay", 1, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces", "TCPNoDelay", 1, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces", "TcpAckFrequency", 1, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "DesktopLivePreviewHoverTime", 0, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Control Panel\Mouse", "DoubleClickHeight", 30, RegistryValueKind.String)
        My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Control Panel\Mouse", "DoubleClickWidth", 30, RegistryValueKind.String)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\0cc5b647-c1df-4637-891a-dec35c318583", "ValueMax", 0, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces", "DefaultTTL", 64, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces", "EnableTCPA", 1, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces", "TcpTimedWaitDelay", 30, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces", "Tcp1323Opts", 30, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces", "SynAttackProtect", 1, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces", "EnableDca", 1, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces", "TCPMaxDataRetransmissions", 7, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Psched", "NonBestEffortLimit", "0", RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces", "EnablePMTUDiscovery", 1, RegistryValueKind.DWord)
        My.Computer.Registry.SetValue("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces", "EnablePMTUBHDetect", 0, RegistryValueKind.DWord)
        Try
            Microsoft.VisualBasic.Interaction.Shell("CMD.exe /C netsh int tcp show global", AppWinStyle.NormalNoFocus)
            Microsoft.VisualBasic.Interaction.Shell("CMD.exe /C netsh int tcp set heuristics disabled", AppWinStyle.NormalNoFocus)
            Microsoft.VisualBasic.Interaction.Shell("CMD.exe /C netsh int tcp set global autotuninglevel=disabled", AppWinStyle.NormalNoFocus)
            Microsoft.VisualBasic.Interaction.Shell("CMD.exe /C netsh int tcp set global congestionprovider=ctcp", AppWinStyle.NormalNoFocus)
            Microsoft.VisualBasic.Interaction.Shell("CMD.exe /C netsh int tcp set global ecncapability=default", AppWinStyle.NormalNoFocus)
            Microsoft.VisualBasic.Interaction.Shell("CMD.exe /C netsh int tcp set global rss=enabled", AppWinStyle.NormalNoFocus)
            Microsoft.VisualBasic.Interaction.Shell("CMD.exe /C netsh int tcp set global chimney=enabled", AppWinStyle.NormalNoFocus)
 Catch ex As Exception
            MessageBox.Show("Windows feature is not found.", My.Application.Info.Description, MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, 0, False)
        End Try
 
Last edited:
I did some digging into this with Process Monitor...

Apparently the state of the checkbox is saved in:
HKEY_CURRENT_USER\System\GameConfigStore\Children\[GUID]\Flags
When enabled, svchost.exe flips the highest bit on (0x80) and disabled flips it off (0x00).

svchost.exe then goes to:
HKEY_CURRENT_USER\System\GameConfigStore\
playing with the Win32_AutoGameModeDefaultProfile and Win32_GameModeRelatedProcesses keys.

Then it does a bunch of cryptography stuff that doesn't make much sense.

Then it fetches a list of running user processes via Explorer.EXE. It seems to get really excited about GamePanel.exe for some reason.

Then svchost.exe starts looking at power settings in the registry.

And that really seems to be it...
 
Back
Top