Deshabilitar animaciones implícitas en - [CALayer setNeedsDisplayInRect:]

Tengo una capa con un código de dibujo complejo en su método -drawInContext:. Estoy tratando de minimizar la cantidad de dibujo que necesito hacer, así que estoy usando -setNeedsDisplayInRect: para actualizar solo las partes cambiadas. Esto está funcionando espléndidamente. Sin embargo, cuando el sistema gráfico actualiza mi capa, está pasando de la imagen antigua a la nueva usando un fundido cruzado. Me gustaría que cambiara al instante.

Intenté usar CATransaction para desactivar las acciones y establecer la duración en cero, y tampoco funciona. Aquí está el código que estoy usando:

[CATransaction begin];
[CATransaction setDisableActions: YES];
[self setNeedsDisplayInRect: rect];
[CATransaction commit];

¿Hay un método diferente en CATransaction que debería usar en su lugar (también probé -setValue: forKey: with kCATransactionDisableActions, mismo resultado).

Respuestas a la pregunta(14)

Su respuesta a la pregunta