"Run with graphics processor" missing from context menu - Why?


Recommended Posts

This appears to only be an issue if you have integrated graphics along with Nvidia. Seeing as I don't have integrated graphics, this is not an issue for me, but it seems like it would be as simple as disabling your onboard (integrated).

If I had to take a guess, they figured that you wouldn't want to make this choice each time you ran an application. Instead you can set which graphics card is used for each application by going to Settings>System>Display>Graphics Settings. From there, select the type of application (classic or Windows app), find the application and select which card you want it to use. Once that is done you don't need to make the choice each time.

 

It seems that if you don't set this preference then Windows will automatically select which card to use based on what else you are doing - for example, working on battery means it will choose the integrated graphics to save on power.

 

For me, this kinda makes sense. Yes, the option is now hidden away so that if I'm testing something it's a bit of a pain to go to the option. But I wouldn't normally want to be switching back and forth between my cards.

 

Did you use this option often? And if so, why?

 

EDIT: @Mr_RogersI went and edited your title to reflect your question better. While I was doing it I realised you already knew how to change the setting through Windows settings. :pinch: But still, did you use the option often?

  • Nick H. changed the title to "Run with graphics processor" missing from context menu - Why?
9 hours ago, jnelsoninjax said:

This appears to only be an issue if you have integrated graphics along with Nvidia. Seeing as I don't have integrated graphics, this is not an issue for me, but it seems like it would be as simple as disabling your onboard (integrated).

Technically it is any system with multiple GPUs.  Someone could throw as many GPUs as they have mainboard and PCI support, and Windows will make them all available for games/processes, and can render any GPU to any other GPU that has a monitor connected. 

(This technology goes back to Vista; however, NVidia and AMD blocked features like this until Windows 10, and the only end user information on this tends to be talking about GPU SMP gaming.)

 

The other take away for some users, is that if they do have an integrated GPU, enable it, especially if you have need for additional GPU computing or lite gaming/rendering.   There are also some Intel GPU features that can assist things like video encoding in software like Adobe After Effects, etc.   (Also throw in any other GPUs if you have need for more concurrent GPU use.)

 

Example: When I am converting a few videos with HandBrake, I queue some of the videos using Intel QuickSync and some with Nvidia Encode.   There are also other tricks, like plugging your monitor into the Integrated GPU port on the mainboard, which shoves the lighter operations of DWM (Windows compositor) through the Intel GPU and lets the dedicated GPU focus directly on things like gaming, or even things like rendering in Blender. 

 

 

 

5 hours ago, Nick H. said:

If I had to take a guess, they figured that you wouldn't want to make this choice each time you ran an application. Instead you can set which graphics card is used for each application by going to Settings>System>Display>Graphics Settings. From there, select the type of application (classic or Windows app), find the application and select which card you want it to use. Once that is done you don't need to make the choice each time.

 

It seems that if you don't set this preference then Windows will automatically select which card to use based on what else you are doing - for example, working on battery means it will choose the integrated graphics to save on power.

 

For me, this kinda makes sense. Yes, the option is now hidden away so that if I'm testing something it's a bit of a pain to go to the option. But I wouldn't normally want to be switching back and forth between my cards.

 

Did you use this option often? And if so, why?

 

EDIT: @Mr_RogersI went and edited your title to reflect your question better. While I was doing it I realised you already knew how to change the setting through Windows settings. :pinch: But still, did you use the option often?

The thing is, the NVIDA Control Panel already had this functionality before Microsoft decided to add the Graphic Settings page to the Settings app. The NVIDA one was and still is more advanced as it allows the user to control individual aspects of the GPU features per application.   Do you think there is a way to make Windows prioritize & respect the settings selected from the NVIDA Control Panel?

 

I used the option quite a bit actually. For instance, sometimes the Intel iGPU would glitch pretty badly on videos so I used the context menu to quickly switch to the NVIDA GPU, which never had those problems. Obviously the Intel one is used for less intense tasks as you mentioned above. That's why I don't use the NVIDA all the time,  and why the quick switching in the context menu was a blessing.

 

12 hours ago, jnelsoninjax said:

This appears to only be an issue if you have integrated graphics along with Nvidia. Seeing as I don't have integrated graphics, this is not an issue for me, but it seems like it would be as simple as disabling your onboard (integrated).

I can't disable the integrated graphics. It's tied to the display on most laptops.

On 07/02/2021 at 08:03, Mr_Rogers said:

The thing is, the NVIDA Control Panel already had this functionality before Microsoft decided to add the Graphic Settings page to the Settings app. The NVIDA one was and still is more advanced as it allows the user to control individual aspects of the GPU features per application.   Do you think there is a way to make Windows prioritize & respect the settings selected from the NVIDA Control Panel?

 

I used the option quite a bit actually. For instance, sometimes the Intel iGPU would glitch pretty badly on videos so I used the context menu to quickly switch to the NVIDA GPU, which never had those problems. Obviously the Intel one is used for less intense tasks as you mentioned above. That's why I don't use the NVIDA all the time,  and why the quick switching in the context menu was a blessing.

 

I can't disable the integrated graphics. It's tied to the display on most laptops.

You wouldn't want to disable the integrated graphics, even if you were forced to use it on the notebook. (Which is common.)  This is done for a few reasons, like power usage and also gives you better performance from your dedicated GPU, as the DWM (Compositor) being shifted to the integrated graphics taking that load off the dedicated GPU when gaming.  

 

As for forcing it to respect the NVidia settings, I don't think there will ever be a way to do this, although NVidia could mirror the settings from Windows in the control panel. But NVidia's driver itself will no longer be what flips this context. 

 

Years ago, back in the XP days, NVidia created Maximus and took on the role of GPU pass through and executable GPU preferences, etc.  This became outdated with Vista, but NVidia took a while to stop using their stuff.  The data passing also encapsulates which GPU context executable run in, thus the concept of which GPU to assign to a process. 

 

With the Spring 2020 update of Windows 10, Microsoft pushed OEMs to dump handling this in drivers and to let Windows handle GPU sharing and data sharing, etc.   (No more remnants of NVidia Maximus etc.)   Which also means GPU preferences are now all done by Windows.  (This is good, as Windows does the sharing faster and is more compatible and far more stable.)

 (I'm being very general/generic in terms here.)

 

As for an easy solution, I'm surprised there aren't utilities out there.  Windows stores the settings in the Registry at this location: 

Computer\HKEY_CURRENT_USER\Software\Microsoft\DirectX\UserGpuPreferences  

 

It wouldn't be hard to make a script that would flip the setting in the registry on the fly.  

 

Good Luck. 

  • 1 year later...
On 09/02/2021 at 05:35, Mobius Enigma said:

You wouldn't want to disable the integrated graphics, even if you were forced to use it on the notebook. (Which is common.)  This is done for a few reasons, like power usage and also gives you better performance from your dedicated GPU, as the DWM (Compositor) being shifted to the integrated graphics taking that load off the dedicated GPU when gaming.  

 

As for forcing it to respect the NVidia settings, I don't think there will ever be a way to do this, although NVidia could mirror the settings from Windows in the control panel. But NVidia's driver itself will no longer be what flips this context. 

 

Years ago, back in the XP days, NVidia created Maximus and took on the role of GPU pass through and executable GPU preferences, etc.  This became outdated with Vista, but NVidia took a while to stop using their stuff.  The data passing also encapsulates which GPU context executable run in, thus the concept of which GPU to assign to a process. 

 

With the Spring 2020 update of Windows 10, Microsoft pushed OEMs to dump handling this in drivers and to let Windows handle GPU sharing and data sharing, etc.   (No more remnants of NVidia Maximus etc.)   Which also means GPU preferences are now all done by Windows.  (This is good, as Windows does the sharing faster and is more compatible and far more stable.)

 (I'm being very general/generic in terms here.)

 

As for an easy solution, I'm surprised there aren't utilities out there.  Windows stores the settings in the Registry at this location: 

Computer\HKEY_CURRENT_USER\Software\Microsoft\DirectX\UserGpuPreferences  

 

It wouldn't be hard to make a script that would flip the setting in the registry on the fly.  

 

Good Luck. 

Hey man i was wondering if someone made a script but the only thing i found was this :

[HKEY_CLASSES_ROOT\exefile\shell\Set High Performance\command]
@="C:\\Windows\\System32\\REG.exe ADD HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\DirectX\\UserGpuPreferences /v \"%1\" /d GpuPreference=2;"

and by setting that command i got this image.png.924168b39728e1a22f8451e20658a731.png 

Have you got any ideas

On 26/11/2022 at 04:47, ilovcats said:

Hey man i was wondering if someone made a script but the only thing i found was this :

[HKEY_CLASSES_ROOT\exefile\shell\Set High Performance\command]
@="C:\\Windows\\System32\\REG.exe ADD HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\DirectX\\UserGpuPreferences /v \"%1\" /d GpuPreference=2;"

and by setting that command i got this image.png.924168b39728e1a22f8451e20658a731.png 

Have you got any ideas

...why would you have double \\  ?

...for example....

C:\\Windows\\System32\\REG.exe instead of C:\Windows\System32\REG.exe  (and the same for the registry key paths)

Regarding your question about adding "run with ...", I haven't a clue.  What I do know is you shouldn't muck around with the registry unless you know what you're doing.

On 26/11/2022 at 08:23, Jim K said:

...why would you have double \\  ?

...for example....

C:\\Windows\\System32\\REG.exe instead of C:\Windows\System32\REG.exe  (and the same for the registry key paths)

Regarding your question about adding "run with ...", I haven't a clue.  What I do know is you shouldn't muck around with the registry unless you know what you're doing.

Someone got confused. In coding, you generally have to escape backslashes which then looks like “\\”. 

I miss that option on my laptop. In reality though, the way gfx switching is designed on Windows, it passes everything through the iGPU on the way to the dGPU which degrades performance. I had inconsistent FPS because of this. Disabled the iGPU in the BIOS and that problem went away. Mine just sits on a desk, plugged in so power consumption isn't a problem. I don't know if Linux suffers this flaw. 

On 26/11/2022 at 17:23, Jim K said:

...why would you have double \\  ?

...for example....

C:\\Windows\\System32\\REG.exe instead of C:\Windows\System32\REG.exe  (and the same for the registry key paths)

Regarding your question about adding "run with ...", I haven't a clue.  What I do know is you shouldn't muck around with the registry unless you know what you're doing.

I just want to set it up so i can change the preffered gpu bc i am on a laptop and its kind of annoying to go into windows settings or nvidia control panel every time i want to change it but i am not sure if thats how the command is supposed to be written

On 27/11/2022 at 00:33, JustGeorge said:

I miss that option on my laptop. In reality though, the way gfx switching is designed on Windows, it passes everything through the iGPU on the way to the dGPU which degrades performance. I had inconsistent FPS because of this. Disabled the iGPU in the BIOS and that problem went away. Mine just sits on a desk, plugged in so power consumption isn't a problem. I don't know if Linux suffers this flaw. 

WHAT?!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.