Is there any cases where the logic calculations spike due to a convergence of various conditions in the game?
You might want to check that, also, an easy method to optimize logic is to set some of it to only execute once every N-frames instead of every frame. So if you have logic that you can afford to have executed only 20 or 30 times a second rather than 60, it can give a pretty noticeable speedup.
Having errors thrown slows it right down, like monster says, also near sensors are very heavy, also the more items in a scene the slower a scene object list check is, so group things using many smaller lists like enemies, or powerups etc.
Neo = own.addObject(arguments)
If Neo is not inThinglist:
_____Thinglist =+Neo
Does your logic by chance slightly creep upward? I’ve had a problem where: out of nowhere my logic would go to 4ms and steadily climb to 25ms and, I assume further. I’ve not checked for any further increase because at that point the game would become un-testably slow.