If you’re an iOS developer, and you’re still developing apps that support iOS versions below iOS 7 (Like I am), then you might have noticed after upgrading to OS X Mavericks that the iOS 6 Simulator runs absolutely terribly. EVERY single animation in there runs at an incredibly choppy frame-rate, which makes most kinds of app testing relatively useless.
Today, I learnt from a little birdie that the reason for this issue is due to the new Timer Coalescing feature, introduced in Mavericks:
In OS X Mavericks, Timer Coalescing groups low-level operations together, creating tiny periods of idle time that allow your CPU to enter a low-power state more often. With its activity reduced up to 72 per cent, the CPU uses less energy, giving your battery a break too. This happens so fast you won’t notice a thing. And your Mac still gets just as much done just as quickly.
Apple – OS X Mavericks – Advanced Technologies (January 2014)
It would seem to make sense that as a result of Timer Coalescing, the timers that power the iOS 6 Simulator animations are getting coalesced themselves, and this is resulting in the strange behaviour (Curiously enough, the iOS 7 Simulator is fine though!).
In any case, apparently there is a console command that lets you disable Timer Coalescing across the system: