Transform only updates matrix when 'dirty'