I've put a lot of research into this and it doesn't to be only happening to me, but after Minecraft is 100% definitely using the Nvidia GPU, for some reason the Intel Battery Saving GPU starts getting utilised.
The problem is at random points in the game (Single Player on Online) tasks are given to the Intel(R) HD Graphics 630, which completely bottlenecks the game and frames will lower and/or fluctuate - like the screen keeps freezing and stopping. In case you are wondering this is definitely to do with the GPU, nothing to do with the RAM or CPU or monitor. Nokaaj4383 mentions a multitude of attempts he's made to fix it, but with no update, I assume it was to no avail.
All drivers are up-to-date, so is Windows, and this laptop is considered a more high-end one!
- Model : Dell XPS 15 9560
- OS : Windows 10 Version 2004 (19041.388)
- RAM : 32GB - 8 Allocated to Minecraft
- CPU : Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
- GPU1 : Nvidia GeForce GTX 1050 | 126.96.36.19967 - GeForce Game Ready Driver Version 451.67 (Latest)
- CG0 : Intel(R) HD Graphics 630 | 188.8.131.5290 (Latest)
- I tried first to run the game with "Execute with graphic processor" > "Nvidia high-performances processor" like anybody should do, but the problem still occurs.
- So I configured the task in the "Nvidia Control panel" > "3D parameters" in order to launch Minecraft only with the Nvidia CG.
- I tried to disable the threaded optimization.
- I tried to add every programs which were related to the game (like javaw.exe, javacpl.exe...) in order to make them run with the Nvidia GPU by default.
See attachment file "nv_bug_4" below
- I tried to set Nvidia GPU as global default prefered processor.
- I tried to set PhysX processor on GTX 1050 instead of autoselection, but the result seemed worst.
- I tried to uninstall all Intel drivers, and reinstall them manually one by one.
- After that I tried to update the Nvidia driver from the GeForce Experience program, checking "Clean existing installation" to be sure that no previous driver would create a conflit with the new one.
- Nothing of that was working, so I tried to force my computer by myself: I turn off the Intel Graphic Card from the peripheral devices, so my computer had no choice but running the app with the Nvidia GPU. It worked a few moments (at lower FPS than when both GPU are connected and when Nvidia don't delegate the task yet to another card), but after a short instant, the Nvidia Card dropped task and I got lower FPS than ever before (1 to 5 FPS)... as it seemed to hand the baton to the graphics chipsets.
- I also tried to launch a game directly from the GeForce Experience interface (presuming the tool will force the app to run with Nvidia Card), but it didn't change anything.
- I tried to find in the BIOS of my computer if it was a parameter which should be responsible of this automatic switch, but I didn't find anything relative to graphic optimization.
- My laptop has a 4K screen, so I tried on a Full HD Dell monitor connected with a Dell C Dock (so the render where four time smaller), but it didn't resolve the problem.
- I downloaded the last Java 8 and tried with my own version of Java localized in 'C:\Program Files\Java\jre1.8.0_191\bin\javaw.exe' by assigning from my Minecraft launcher > launcher options > (chosen version) > check "Executable Java File" > and set path. I configured this new javaw.exe in the Nvidia control panel in order to start it with the Nvidia processor and use GTX1050 for the OpenGL render.
- I deleted Minecraft folder and .minecraft folder and reinstall the whole game : I retried with the embedded java version and my own java version again.
- On Nvidia forums, they said me that this Optimus problem should appears when we veer away from the manufacturer's certified drivers package, so I uninstalled my current drivers (which were the the last drivers available on each plateform Intel and Nvidia), and installed the recommended manufacturers drivers in the good order.
Those three solutions didn't work at all. When I started the game for the first time after installing those former drivers, the game reached 200/250 FPS. One more time after 5 minutes of game, it switched to GPU0 and I never reached more than 15/20 FPS. I tried to stay on the game for 1 hour, it never use the GPU1 again.
If anyone does know or can suggest a solution please do, the time spent is much valued!!
It's not a matter to do with Minecraft, it only affects Minecraft. The problem is with the laptop, and affects Minecraft, this is why I've made a post on the Dell forums, but there are also smart people in the Minecraft community that are able to help (Mainly because Minecraft gives a more advanced debug screen than other games in general). I chose to make a new thread to avoid being scolded for necroposting / bumping