Busy loops are often a problem because they don't give the CPU a break. I think your loop may spend a lot of non-constructive time computing and looking for %50. If you have a super-fast multi threaded computer, then you may even get a different visual result.
I'm curious to see if the animation performs better. Are you able to monitor the CPU during a long period of blinking? I wondier if you'll see something like a sawtooth pattern with the animation approach and a raised flatline with the busy loop.