Low End PCs

This is a big modpack with a lot of mods. Playing on a low performance PC (anything less than a sweet-spot PC from ~3 years ago) is not going to be an enjoyable experience. This page has some tips on making GregTech: New Horizons more tolerable on a potato PC.

Play using a separate server PC
Setting up a server PC is outside the scope of this page, but using one will definitely help with performance. Offloading all the server lifting onto a spare computer, even if it is lower performance than your gaming PC, will definitely help with FPS.

Even setting up a separate server instance on the same PC can help improve performance since it is not sharing the same memory cap as the client. You can also play on one of the official or unofficial servers.

Configuration changes
These changes will affect your game experience, but not in super significant ways.

World Chunkgen
Placing an ore in a chunk is an expensive operation. Reducing the ore density and shrinking the size of oreveins will reduce the number of operations. You can safely reduce densities to 2 or 3.

The same goes for the GT red granites, black granites, basalts, and marbles. They can cause significant world chunkgen lag - a 50 block diameter rock is more than 65k blocks to place. Reduce their frequency and size to help with lag.

These settings can be found in

Railcraft places abyssal stone "geodes" frequently in some biomes, and quarried stones across most biomes. They can be disabled in

JVM Arguments
The following JVM arguments may be of interest. Sadly, not every setup is the same, so for maximum performance some fine-tuning might be needed.

You should set your minimum and maximum memory to the same amount, or close. GTNH recommends between 4GB and 6GB of RAM, use more with careful consideration and testing. Setting   much lower than   can cause pauses whilst the garbage collector to try to get back down to the minimum.

Exploration tips
Minecraft appears to request chunks 640 blocks away from the player. When exploring for new areas, try to minimize your speed and/or stop every 400-600 blocks to let the chunkgen catch up. Horses are convenient but can quickly outrun chuck loading. If you are interested in ore veins, it's better to do a spiral out from an area vs a fast run to a new zone. This also means the run back will be shorter.

Also, if you are in single player, try reducing your view distance. 10 is a good compromise between visibility and worldgen speed. Servers have a setting as well,.

General tips

 * 1) Give 6G of RAM to the modpack, or the maximum you can allocate without saturating your PC (If you have 4 or less total, it will be hardly playable at all. With 8 total, assign 5-6GB). The minimum amount of RAM given should match the maximum amount of RAM given for optimal performance, to prevent overly aggressive garbage collection behavior. Allocating more than 8GB may cause issues, since the Java Garbage Collector gets worse with larger amounts of memory. Remember the rest of your system needs some left over memory as well.
 * 2) Install MultiMC and use that instead of a curse/twitch/technic launcher. (Guide to using GTNH with multimc here)
 * 3) Install OptiFine and tune it - the E7 version works better with shaders. Note that you will need to check the options.
 * 4) If you use OptiFine, then remove better loading screen, as it has been reported that better loading screen takes longer to load with OptiFine. Also turn off multi chunk loading (set it to default) or it may crash.
 * 5) Set the render distance to 2-10 chunks depending on your machine.
 * 6) Use "Advanced OpenGl" (standard Minecraft option) if possible (set it to Fast).
 * 7) Cap your FPS to 60, or lower if you struggle getting to 60.
 * 8) Turn off Texture and Terrain animation (helps tremendously on Macs).
 * 9) If your FPS crashes in a particular area, look for improvements. There's a quest in HV to get a Concealment Key to hide your drawers which may help, for example.
 * 10) Avoid these to ensure a high FPS:
 * 11) Place items on ground, in biblio labels, in item frames, etc, especially items with animations or enchanted items
 * 12) Drawers or barrels that display their contents. Use drawer keys to hide them.
 * 13) Anything that draw text, e.g. Nuclear Control information panels.
 * 14) See below:

Use a different Java Virtual Machine
By default most Minecraft servers use Oracle's JVM, Hotspot. The OpenJ9 JVM has been shown to significantly improve the performance of modded Minecraft. This user has found version 0.14.2 to work with Minecraft Forge. The new JVM must be installed and then pointed to, for instance in MultiMC under "Java" in "Settings" this means changing "Java path:" to e.g. "C:/Program Files/AdoptOpenJDK/jdk-8.0.212.04-openj9/bin/javaw.exe". If you encounter problems you can change this back to your original Java installation.

https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/tag/jdk8u212-b04_openj9-0.14.2

https://www.reddit.com/r/feedthebeast/comments/as6p87/java_vms_and_you_how_to_reduce_your_ram_and_cpu/

Some have had good luck with GraalVM - get the Java 8 version: https://github.com/graalvm/graalvm-ce-builds/releases/tag/vm-21.2.0