How can I make my computer use NVIDIA GPU instead of Intel GPU?

Hi again,

I posted before due to the editor crashing whenever I try to start it: UE4Editor-Cmd.exe has crashed - Platform & Builds - Epic Developer Community Forums

Now I have found a solution to the crash, which is using a DLL from this thread: Crash after launch with below min spec GPU - Programming & Scripting - Epic Developer Community Forums

However now my problem is that the editor is horribly slow because it is using my Intel GPU instead of NVIDIA GPU. It is impossible for me to force UE4 to use my NVIDIA GPU instead of the Intel GPU.

I have set all the settings in the NVIDIA control panel for global settings as well as specific application settings for ue4editor.exe, ue4editor-cmd.exe, ue4game.exe. You can see so on these screenshots I made:

My computer specs are: Intel Core i7-2630QM CPU 8GB RAM NVIDIA GT555M Windows 7 64-bit

Unreal Engine 4 refuses to use my NVIDIA card even though I explicitely set it in the NVIDIA control panel.

I have never had this problem with any other program than Unreal Engine 4.

As proof that it is not using the NVIDIA GPU I have taken a screenshot of the NVIDIA helper application that shows GPU activity:
http://images.allprog.nl/viewimage.php?img=8088_1395922601.png
It should show the icon of each application that uses the NVIDIA GPU, but it only shows Visual Studio 2012

Which video-card is your monitor plugged into? Are you using a laptop? I’ve heard about some kind of setup where the nvidia GPU outputs through the intel gpu’s screen buffer, it’s a way of saving laptop battery power, although I’m not familiar with it.

If you’re on a desktop I’d suggest plugging your monitor into your nvidia card’s output.

I run UE4 on my laptop and have seen this problem before, but only if i didn’t reboot between settings changes. Have you tried rebooting since you setup these settings?

also which driver version are you on?

Thanks for your reply. I am using a laptop and indeed have the setup you described, it’s called Optimus from NVIDIA. It is not possible to plug in a monitor directly to my NVIDIA GPU as everything has to go through the Intel GPU. I did try using an external monitor, but it did not have any effect.
The Optimus technology is actually working fine for all other applications, only UE4 is having problems with it on my laptop…

Hi, I just rebooted and it is still not using the NVIDIA GPU.
I am using driver version 335.23 - the latest at time of writing.
According to the Intel site I am also using the latest (chipset) drivers from them. Intel graphics drivers are 9.17.10.3347. Video BIOS (whatever that is) is 2108.0.
Thanks for the suggestions.

I’ve actually seen this problem before but for the Source engine. The solution for that was to disable secure boot in the bios.

Hey FakeTruth,

Can you let us know the model number of your laptop?

Thanks!

-Steve

Thanks for the suggestion. I had a look in the BIOS but there is no such option. I looked around the internet a bit about “secure boot” and it seems to only apply to Windows 8 laptops. My laptop came with Windows 7 so I do not have such an option.

The Laptop is a BTO 15P35. When I bought it they told me they use ASUS motherboards. CPU-Z confirms this by displaying Pegatron Corporation as the manifacturer, I read that Pegatron is a branch of ASUS.

2864-cpuz.png

I have attached a CPU-Z report for more hardware info to this comment.[link text][2]

hi i’m using a lenovo and i had the same problem but on the lenovo support webside there is a special installer for optimus (seperate from the nvidia driver)

link text

i have now a litte symbol in the notification area which tells me which software uses my gpu…

Hi Dave,
Do you mean the symbol as in this screenshot? http://images.allprog.nl/viewimage.php?img=8088_1395922601.png

My BIOS is very barebones and there are hardly any settings available, there are no graphics settings and unfortunately nothing about Optimus :frowning:

I will try reinstalling some drivers.

yes thats the symbol…
i also saw that my ue editor was in the nvidia control panel 2 times… 1 from installing via installer and 1 from compiling from source…
i also switched the option for vs2013 to gpu because if you run it from source it “spawns” the editor process…

do have this option in your bios?

http://bretstateham.com/wp-content/uploads/2012/05/ThinkPad-Graphics-Device-BIOS-Settings-No-Callout.png

No I don’t have that option, my BIOS is really basic…

http://images.allprog.nl/viewimage.php?img=7471_1396367700.jpg

http://images.allprog.nl/viewimage.php?img=2393_1396367716.jpg

http://images.allprog.nl/viewimage.php?img=8743_1396367725.jpg

http://images.allprog.nl/viewimage.php?img=3466_1396367738.jpg

I am running UE4 from the installer, I do not have the source or VS2013. In the previous screenshot I just had VS2012 open for another project unrelated to UE4 :stuck_out_tongue:

wow that is basic…
what happens when you use the editor.exe directly without the launcher?

and i found something…
your bios is 206 this is 209

http://www.btodownloads.nl/index.php?dir=Notebooks%20(Drivers)/1.%20VORIGE%20MODELLEN%20-%20PREVIOUS%20MODELS/15P35%20-%20(A25PA)/BIOS/

maybe they implemented the display select option…

It makes no difference whether I start Unreal Engine\4.0\Engine\Binaries\Win64\UE4Editor.exe directly or through the launcher.

I also found that update, but I am hesitant to update because it is not without dangers and it might not fix my problems at all. I guess I’ll try to update it although I had rather have UE4 be fixed because I suspect it’s probably selecting the wrong graphics device to be used for DirectX somewhere.

Hi, I have updated to 4.1.0 and I still have the same problem that UE4 is not using my dedicated NVIDIA video card.

Perhaps you can use the code snippet provided in this PDF of NVIDIA http://developer.download.nvidia.com/devzone/devcenter/gamegraphics/files/OptimusRenderingPolicies.pdf

Just put this somewhere in a global scope in a c/cpp file and Optimus should recognize the program as a program that requires a dedicated video card:
extern “C” {
_declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
}

I have tried this in my own programs and it works. Of course these programs also run on my NVIDIA card when I tell them to through the control panel… so I don’t know if it will work for UE4.

Hi,

After running WildStar (a game) for the first time I noticed that it does not use my NVIDIA card either.

What WildStar and UE4 have in common is that they are both 64-bit programs. So I figured my NVIDIA Optimus implementation might not work properly for 64-bit programs.

To confirm this I have compiled my own 32 and 64 bit programs that use OpenGL and saw that the 32-bit program uses my NVIDIA card and the 64-bit program does not.

According to this, the problem might not be with UE4 but with my laptop…

I have the same problem now. I have a laptop with Intel integrated Graphics Card and GeForce 780M. I’ve been using Unreal 4 since summer and it was running smooth until now. Every project started running in 20 fps at best, new or old version. I checked and GF780M is not being used when Editor runs. I’ ve set in nvidia control panel to use proper GPU on every executable from 4.7 and the launcher. I tried reinstalling both intel and nvidia drivers, and Unreal itself. And NOTHING. I recall two things that could cause that: the 4.7 or my recent scan with Combofix. Any ideas?

There’s an answer marked as right, but the problem wasn’t solved. Does Epic have a saying on this? It’s really affecting the performance on a Kinect project at my company. We bought a very expensive Laptop to use at an event and Unreal performance is being crumpled for using the Intel Graphics HD!!

Hi RVillani,

What type of laptop are you currently using? If you have an Nvidia card in the laptop you should be able to change this in a couple of ways.

  1. Optimus technology. You should be able to specify the GPU that you would like to use.

  2. Nvidia Geforce Control Panel. You should have an option to choose how you want the GPU to be used. Should be similar to this setup here: https://support.lenovo.com/us/en/documents/ht078706