3

I am trying to help a friend of mine get his Minecraft instance running decently.

He has a workstation laptop with an i7 (3rd gen, not sure which exact model), a Nvidia Quadro K3000M, 16 GB RAM and an SSD. So hardware-wise it's not a gaming laptop but should be strong enough to work decently.

The game is really running on the Nvidia Quadro and not on the Intel HD, at least F3 shows the Nvidia GPU.

In both vanilla (1.16.5) and the Team Rustic modpack (v2.13, running on Minecraft 1.16.4), he often has low single-digit FPS when other players with worse setups get 15-30 FPS in the same regions of the world. This is with lowest graphics settings (including a render distance of 2 chunks). I then installed Optifine and turned everything down to nothing, which increased the FPS, but now he gets 4 FPS instead of 2. FPS limiting is set to 60 FPS.

Since he has a huge monitor, he plays in windowed mode and uses only a rather small part of the screen. So not too many pixels either.

I tried it either without Java flags or with these ones:

-XX:+UseG1GC -Dsun.rmi.dgc.server.gcInterval=2147483646 
-XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=20 
-XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M

And there isn't any appreciable difference either way.

I tried Java 8 (x64) and Java 11 (x64) and also that didn't change a thing.

The lagometer always reports "white" as the most time consuming task by a far margin.

What is really weird is that both the CPU and GPU are more or less idle at that time. They are <50°C and usually have an usage of <20%. RAM usage is usually around 12GB/16GB, since I turned his Java minimum and maximum memory usage to 6GB for Minecraft. The SSD should also not be a bottle neck.

Do you know what could cause this weird behaviour?

One more thing: This is a multiplayer session and the server software is not running on this laptop. So the laptop only handles the Minecraft client.

3
  • 2
    No, I meant, it is a multiplayer session and the server is remote on another device. He is not running the client and the server on the same device. The client is running locally on his laptop. I clarified it in the question. – Dakkaron Apr 7 at 10:39
  • 1
    For the record, the Quadro K3000M should be on-par with GeForce GTX 860M, so with vanilla Minecraft 1.16 a reasonable frame rate would be some 200+ to 500+. – iBug Apr 7 at 14:05
  • @iBug: That is a frame rate I haven't even seen on my 1050 Ti Max-Q. I might need some optimizing myself^^ We are running on the Java Edition, if that makes a difference. – Dakkaron Apr 7 at 14:10
2

The FPS matches the performance of an Intel HD Graphics (Ivy Bridge), so I suspect that the Java process isn't properly utilizing the NVIDIA GPU. This is also a common issue because NVIDIA driver doesn't by default run Java processes on discrete GPUs (for systems with Optimus).

Open up NVIDIA Control Panel, select "Manage 3D Settings" on the left and then "Program Settings" tab on the right. Click [Add] and locate the Java program you're using, which should have a name of javaw.exe. Select "High-performance NVIDIA processor" for it and save the settings. Close any running Minecraft (and better, other Java processes) and start Minecraft again. You should see a reasonable frame rate then.

1
  • Thanks for the answer, I already did that. F3 shows the Nvidia Quatro as the GPU. That would be a reasonable fix otherwise. I will edit that into the question. – Dakkaron Apr 7 at 14:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.