On my system (i5 3750k) no individual core goes above 50% even when the game is chugging.
But I've redone almost everything now when I'm familiar with the software so that it works more efficiently and uses about a third of the object amount. :)[/QUOTE]
On this topic, I've been able to do some similar things. For example, I had a couple of hundred soldiers spawning bullets as they shoot, which then disappears and spawns a dust cloud when it gets to a certain range.
I've changed it to be twice as efficient by adding the dust cloud sprite to the bullet sprite as a second frame in it's animation - once it reaches full range the bullet stops, the frame changes to the dust cloud, and I trigger the Fade and Sine(size) behaviours to start.
Put simply, when possible instead of spawning objects, change existing object's animation frames to the new object. Half as many objects with exactly the same visual effect.
This is probably similar to the sorts of things you've been able to do, but I thought it might give some other people some ideas.
From my own experience lots of object creation and physics tend to slow the framerate the most. Tricks like I mentioned above help with object creation; it's worth lowering the physics iterations for better physics performance. Lowering it from 3 to 1 gave me no noticeable visual loss, and framerate went up by about 5 fps.
I'd love to hear about other techniques people use to get around performance drops.