Primary.draw indeed does appears to be much faster than surface.draw.
I have however no experience using it, so I can't really tell if there are any side effects or do's or dont's.

As for the example. I have used a clean setup, straight from the component palette. No options modified and all code came from your messsage. So as far as I can tell, it's should be the same as yours.