Por qué una implementación vacía de drawRect: afectará negativamente el rendimiento durante la animación

Estoy subclasificando miUIView clase. El código Xcode (estoy usando 4.6.3) generado automáticamente, dice:

/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
    // Drawing code
}
*/

Me planteó algunas preguntas en mi mente:

1) ¿Por qué una implementación vacía dedrawRect: causará un rendimiento adverso durante la animación.

2) ¿Cuándo debo implementar?drawRect:.

3) Si estoy implementandodrawRect: entonces, qué se debe tomar como precaución para la mejor práctica.

Respuestas a la pregunta(2)

Su respuesta a la pregunta