Hidden TPS Lag

  • Please make sure you are posting in the correct place. Server ads go here and modpack bugs go here

mathchamp

New Member
Jul 29, 2019
153
0
0
In my current world, when I do /cofh tps, it shows 20 TPS (time is about 30 ms) but there's lots of can't keep up errors in the console and it's pretty obvious that the internal server is running slow when I try to break blocks or look at machines (it feels like around 10 TPS). Occasionally if I use /cofh tps repeatedly it will display around 90 ms but usually it displays around 30 ms.

My world is in Infinity Evolved 2.1.2. I tried reverting to 2.0.2 and running Opis to see what it showed, and it was roughly the same thing. The entities and tile entities add up to about 30 ms, and everything added together is about 40 ms or so. The graph at the bottom of Opis hovers around 50 ms, which would suggest possibly losing a few ticks here and there but it feels significantly slower than that.

Are there any big "gotcha" things in Infinity that can create a lot of invisible tick lag that doesn't appear under any tools? I remember having about 20 TPS until a few days of playing ago, and the main things I did between then and now was build a bunch of large AE2 crafting CPUs and replace a lot of my fluxducts with the cryo-stabilized fluxducts. And more AE2 inscribers with extra utilities transfer pipes but I didn't touch the transfer nodes. None of these items appear in Opis as taking a lot of tick time. I tried ripping up some of the fluxducts and it did little for my TPS.

Can RAM allocation or the garbage collector "steal" milliseconds from the server? And does anyone else have similar experiences with Infinity? Did the updates to 2.0 and/or 2.1 cut into anyone's TPS?
 

Henry Link

Popular Member
Dec 23, 2012
2,601
553
128
USA - East Coast
Actually the 1st thing I would suggest would be to put the server on its own machine. At present your client and internal server are running on the same CPU/core. Also the garbage collector is part of Java and as such runs outside of the main minecraft loop and probably runs on another core.
 

mathchamp

New Member
Jul 29, 2019
153
0
0
Actually the 1st thing I would suggest would be to put the server on its own machine. At present your client and internal server are running on the same CPU/core. Also the garbage collector is part of Java and as such runs outside of the main minecraft loop and probably runs on another core.
I might try downloading the server files and running my world on my PC as a standalone server (without me on it) to see if it gets better TPS than when I'm logged into it.

It would make more sense if the client and server used separate cores. Are you sure that they both share a thread?
 

jordsta95

New Member
Jul 29, 2019
5,056
-4
1
Have a look in the latest.log
I have been having the same issue; the log being spammed with an item/mob being in the wrong place.

However, I haven't found a way to fix it :/