Hey guys. For nearly every game I run on my laptop, the GeForce Experience tag pops up asking you to enable it with Alt+Z or something. But for some reason, it never pops up in any of my C++ DirectX apps. Which means programmably there has got to be a way to enable it. I tried Googling this and got nothing. What do the pros do? Would be nice to have for FPS counters without having to do your own or use a graphics diagnostics. I use Visual Studio 2017. Thanks in advance.
NVidia GeForce Experience
Wow nothing o.o . Anyways, I opened up the NVidea GeForce Experience app to see if I can add a program to it, but it would not let me unless supported. I was thinking originally it is because it is not part of their supported list of games (see here: https://www.nvidia.com/en-us/geforce/geforce-experience/games/). But even with non supported games, it still pops up in that particular game, such as Alice Madness Returns. In my sample DirectX programs I wrote in C++, however, compiling it in Release mode rather than Debug, and running it still ended up not showing up at all. Do I have to add my program to NVidea exceptions, or what? What could possibly be missing?
[Edit] I posted this question on NVideas forums as well, so hopefully I can get some answers. Maybe from NVidea themselves! Well see.
I always choose not to install that Experience stuff, so got no experience in that regard - but if you just need a simple FPS counter, why not simply install MSIAfterBurner or one of the many other similar apps?
5 hours ago, Psychopathetica said:Wow nothing o.o . Anyways, I opened up the NVidea GeForce Experience app to see if I can add a program to it, but it would not let me unless supported. I was thinking originally it is because it is not part of their supported list of games (see here: https://edubirdie.com/analytical-essay-writing-service). But even with non supported games, it still pops up in that particular game, such as Alice Madness Returns. In my sample DirectX programs I wrote in C++, however, compiling it in Release mode rather than Debug, and running it still ended up not showing up at all. Do I have to add my program to NVidea exceptions, or what? What could possibly be missing?
[Edit] I posted this question on NVideas forums as well, so hopefully I can get some answers. Maybe from NVidea themselves! Well see.
I was considering to install GeForce Experience for my current project. Hopefully, I stumbled across your question here and know I'm thinking should I install it or look for some alternatives.
Well not only do you get an FPS counter, you also can use it to record and stream. Pretty useful if you ask me.
I don't have an answer for the actual question... It probably uses a whole bunch of heuristics to guess whether an app is a game or not ?
But you can use OCAT for performance monitoring and OBS for recording/streaming. If you select NVENC in the encoding options, it uses the same hardware as GFE's shadowplay.
nVidia create profiles for games to work with their GeForce Experience stuff but I've never tried to get a game involved with it.
One thing you might want to watch for is that it might not be using the nVidia GPU at all because it either doesn't realise that it's a 3D app or decides that it should be run on the integrated GPU.
You can add something like the following:
extern "C" {
// This is the quickest and easiest way to enable using the nVidia GPU on a Windows laptop with a dedicated nVidia GPU and Optimus tech.
// enable optimus!
__declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
// AMD have one too!!!
__declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1;
} Which will tell it to run on the dedicated GPU. This might then mean that it appears as the running app in GeForce Experience and you can then add a custom profile for it.
2 hours ago, NineYearCycle said:nVidia create profiles for games to work with their GeForce Experience stuff but I've never tried to get a game involved with it.
One thing you might want to watch for is that it might not be using the nVidia GPU at all because it either doesn't realise that it's a 3D app or decides that it should be run on the integrated GPU.
You can add something like the following:
extern "C" { // This is the quickest and easiest way to enable using the nVidia GPU on a Windows laptop with a dedicated nVidia GPU and Optimus tech. // enable optimus! __declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001; // AMD have one too!!! __declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1; }
Which will tell it to run on the dedicated GPU. This might then mean that it appears as the running app in GeForce Experience and you can then add a custom profile for it.
Interesting. I think I might try that when I get home from work.
On 3/24/2019 at 11:02 PM, Psychopathetica said:Wow nothing o.o
You waited less then 6 hours before posting that? You can go days without a reply on here, or stackoverflow. You have to have the right person with the right knowledge come by, see your post and reply. It's a forum not text messaging ?
2 hours ago, NineYearCycle said:Which will tell it to run on the dedicated GPU. This might then mean that it appears as the running app in GeForce Experience and you can then add a custom profile for it.
This code is for laptops for the most part and will not bring up the GeForce options the OP was asking about. I can attest from first hand knowledge
Though it did work on my laptop as my engine was defaulting to the Intel GPU not the nVidia GPU. So handy code to have anyway.
Your app will probably be detected as supported if you run it in exclusive full screen, or windowed borderless, and specifically R10_G10_B10_A2_UNORM or R8G8B8A8_UNORM or B8G8R8A8_UNORM backbuffer format I believe. The resolution should also be something like 1920x1080, 3840x2160 or some standard video format resolution. It worked for me like this.
On 3/24/2019 at 9:48 PM, Psychopathetica said:Hey guys. For nearly every game I run on my laptop, the GeForce Experience tag pops up asking you to enable it with Alt+Z or something. But for some reason, it never pops up in any of my C++ DirectX apps. Which means programmably there has got to be a way to enable it. I tried Googling this and got nothing. What do the pros do? Would be nice to have for FPS counters without having to do your own or use a graphics diagnostics. I use Visual Studio 2017. Thanks in advance.
There's an API and developer page. https://developer.nvidia.com/geforce-settings-api
3 hours ago, turanszkij said:Your app will probably be detected as supported if you run it in exclusive full screen, or windowed borderless, and specifically R10_G10_B10_A2_UNORM or R8G8B8A8_UNORM or B8G8R8A8_UNORM backbuffer format I believe. The resolution should also be something like 1920x1080, 3840x2160 or some standard video format resolution. It worked for me like this.
My backbuffer is nearly always R8G8B8A8_UNORM, in fullscreen mode, and resolution is 1920×1080. Still regardless it doesnt trigger it. I may look into the GeForce APIs to see if anything might be useful from the last poster.
Well. I think I'm on to something. I found on the NVidea Developer website the GeForce Experience Settings API SDK. Ironically I didn't realize I was a member. Must have joined a year or two ago. So maybe if using the libraries from here will end up triggering the tag that I was referring to. I also found other nifty things in here such as PhysX.
OMG I did it. Turns out that NineYearCycle was right!
extern "C" { _declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001; } This little snippet of code activated my GeForce Experience tag that I've been seeing in all of my triple A games. And on top of that my program went 3 times faster than usual in doing so with my vsync off. Like over 370 FPS. Weird. Thanks for your help guys.
Edit: Works in Windowed Mode too!
2 hours ago, Psychopathetica said:I found on the NVidea Developer website the GeForce Experience Settings API SDK.
Promit posted that link above
16 hours ago, CrazyCdn said:This code is for laptops for the most part and will not bring up the GeForce options the OP was asking about. I can attest from first hand knowledge
Though it did work on my laptop as my engine was defaulting to the Intel GPU not the nVidia GPU. So handy code to have anyway.
Yeah but he specifically mentioned his laptop, and it is useful code to have in every codebase anyway ![]()
cool!
Psychopathetica said:
Wow nothing o.o . Anyways, I opened up the NVidea GeForce Experience app to see if I can add a program to it, but it would not let me unless supported. I was thinking originally it is because it is not part of their supported list of games essays (see here: https://www.the-essays.com/). But even with non supported games, it still pops up in that particular game, such as Alice Madness Returns. In my sample DirectX programs I wrote in C++, however, compiling it in Release mode rather than Debug, and running it still ended up not showing up at all. Do I have to add my program to NVidea exceptions, or what? What could possibly be missing?
[Edit] I posted this question on NVideas forums as well, so hopefully I can get some answers. Maybe from NVidea themselves! Well see.
I have kinda similar problem and still do not know how to fix it.
Topic Locked
This topic has been locked by a moderator. New replies are not allowed.