¿Cuál es la diferencia entre configurar la position z de una capa o cambiarla por CATransform3DTranslate

Tengo una capa en la que modifico su propiedad de transformación m34 para get perspectiva. Habría esperado que cambiando la position z, el tamaño cambiará (ya que aparece más lejos) sin embargo, cuando establezco la propiedad zPosition, el tamaño no cambia, pero sí cuando uso CATransform3DTranslate.

¿Por qué es esto? ¿Cuál es la diferencia entre lo siguiente?

CATransform3D transform = CATransform3DIdentity; transform.m34 = 1.0 / -4000; myLayer.transform = transform; myLayer.zPosition = -500; 

y

 CATransform3D transform = CATransform3DIdentity; transform.m34 = 1.0 / -4000; transform = CATransform3DTranslate(transform, 0, 0, -500); myLayer.transform = transform; 

Este último funciona como espero, pero quiero entender por qué el primero no.

zPosición es solo para el order de dibujo de las capas de hermanos, no para el dibujo en perspectiva: puede usarlo para get un efecto "traer al frente" / "enviar a la espalda" sin agregar / quitar la capa.