My bright line rule is that I won't tip before service is rendered. If I'm asked before, I can't judge the service, and therefore making a tip decision is impossible.