I started looking at the neopixel sketch and realized that when the data stream slows down, it is when a threshold below 150 or below 1000 is met for the "clear". Those are the thresholds for activating frunction1 and function2. Although I couldn't tell what was in those functions that would be slowing it down. I posted on the adafruit forums asking for help for my predicament with the neopixel strip. And the solution was simple: put the " strip_a.show();" outside of certain loops.
I realize that my babbling about this on the blog doesn't make any sense without seeing the code, but trust me guys. This will be so cool!
If you are looking for a summary for my Masters thesis, it is here.