Okay, I have some sampler results, although I don’t know how helpful they’ll be. In typical fashion, while I was sampling, the FPS drop was less severe than usual (by about 15 FPS) for some reason.
I took two sets of sampler results - one where I just let the game run normally without doing anything for several seconds, and another where I held down the right mouse button for several seconds while holding a Thorium Wire Cutter.
Sampler results before holding down the RMB:
Sampler results while holding down the RMB:
I noticed a couple of functions not found in in the first set of results make their way towards the top when this happens, namely:
net.minecraftforge.oredict.ShapedOreRecipe.checkMatch
buildcraft.BuildCraftMod$PacketSender.run
Another thing I realized later might be a factor is the JVM I’m using. On the recommendation of some users over at Reddit I’ve been using OpenJ9 8.0.282.8 from AdoptOpenJDK (as opposed to Oracle’s JVM) along with some new JVM options this playthrough to improve the game’s performance.
Here are the JVM options I use:
-XX:+UseG1GC -XX:ParallelGCThreads=8 -Dsun.rmi.dgc.server.gcInterval=2147483646 -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M -Xmx8G -Xms8G -Xmn128M -Duser.language=en -Duser.country=US -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
If you think it’s relevant, I can test if the issue occurs with Oracle’s JVM as well if you want.
Edit:
In case you were wondering, the reason the “jmxremote” arguments are on there is because I could only get JVisualVM to connect to OpenJ9 via JMX.

