hmmm... I think another big source of slowdowns are these "trigger regions" I have, used for waypoints for the AI-controlled karts.
Apparently this is what it's like without these trigger regions:

and with them:

the problem looks like the trigger regions are preventing objects from being deactivated, meaning that it's constantly simulating far more objects than it needs to. (After one lap, I polled all of my objects and about half of them were active!) The trigger regions are only supposed to do anything with the karts and nothing else on the track. I've tried using GhostObjects and RigidBodies and neither seem to fix it -- am I doing something wrong or is there a better way to do this?