Your results aren't related to the precaching, but the error makes sense. If a script is supposed to search for something that's supposed to match something else in a table and the object doesn't exist, this script will keep checking, putting the function into an endless loop as it searches continuously and eats up resources causing more performance problems.NVMe Disk at 2%, GPU at 38%, CPU at 14% and memory at 46%. There's not a lot of maxing out going on and yet I'm getting about 15fps on my route.
I do have a constant message appearing in the logs, multiple times per second, saying "NamedObjectTable> Object tile mismatch..." which mentions the same named item.
Whoever wrote the script originally never took this issue into account, and the problem probably always existed but we were never aware of what was causing yet another performance issue. The script should have a timeout function built in such as check an X number of times before quitting, but instead this one goes off into a loop.