2012-11-12 12 views
16

Quindi so che armv7s è ottimizzato per l'iPhone 5 e aggiungerlo renderà il mio codice un po 'più veloce su quel dispositivo.Vale la pena aggiungere la sezione armv7s su iOS6?

Qualcuno sa qual è la differenza? Ci sono dei punti di riferimento, ecc?

Il compromesso è la dimensione dell'app. La mia dimensione stimata dell'app va da 3,3MB a 5MB con l'aggiunta di armv7s che è un buon 50% in più da scaricare.

Sto pensando, a meno che l'aumento di velocità non sia convincente, potrebbe non valere il costo di download, ma non riesco a trovare molte discussioni su quali sarebbero i benefici.

+0

http://wanderingcoder.net/2010/07/19/ought-arm/ – Peres

+0

@JackyBoy buona panoramica di armv6 e armv7 e alcuni ottimi motivi per supportare armv7 in questa pagina collegata http://wanderingcoder.net/ 2011/09/25/compilazione-ARMv7 /. Ma nessuna discussione su 'armv7' vs' armv7s'. –

+1

Mi piace che tu abbia pensato a questo. – mackross

risposta

8

Vale la pena aggiungere il supporto armv7s se si desidera sfruttare il supporto VFPv4 (che è nuovo con il SoC A6), per calcoli in virgola mobile più veloci. Ci sono ulteriori dettagli se si guardano i link sottostanti, che sono ancora le migliori fonti che ho trovato su di esso quando ho fatto la ricerca in origine. Non conosco alcun benchmark su cui puntare, tuttavia poiché i vantaggi possono variare da app a app (a seconda di come la tua app è legata al processore per calcoli in virgola mobile) potrebbe essere comunque utile eseguirli tu stesso.

anandtech article

apple dev forums link

related SO article

+0

Grazie per le tue informazioni. Una domanda successiva: la presenza o meno di una sezione armv7s altera il modo in cui viene eseguito il codice della libreria (ad esempio lo scorrimento della vista tabella), poiché tale codice risiede nel sistema operativo? Saremmo ancora in grado di ottenere i vantaggi di VFPv4 per i calcoli del layout UIKit di Apple, anche se non includiamo armv7s da soli? –

+0

sei il benvenuto, avresti bisogno di compilare quella sezione per includere le istruzioni per beneficiare di VFPv4. – foggzilla

1

Il mio consiglio è misurarla. I miglioramenti apportati da ARMv7s sono così specifici (divisione di interi di hardware e VFPv4 è praticamente moltiplicato per l'aggiunta) che i miglioramenti sui benchmark possono o non possono essere applicati al tuo codice, quindi non penso che ci sia molto di un sostituto per il timing del tuo app su un iPhone 5 con e senza una slice slice di ARMv7s.

1

La cosa più semplice che puoi fare per capire le differenze di prestazioni è installare la tua applicazione in iPhone 5 usando e non usando il supporto 'armv7s'. Dalla mia esperienza posso vedere la differenza di prestazioni in ogni modello di iPhone. Il mio consiglio è di aggiungere il supporto armv7s per la tua applicazione e testare in casi "estremi" e se riesci a vedere qualsiasi differenza di prestazioni dimentica semplicemente le dimensioni di Ipa e altre cose.

3

Che tipo di applicazione stai costruendo? armv7s aggiunge la divisione vfp4 e intera. Quindi, a meno che l'applicazione non sia pesantemente in virgola mobile (elaborazione di segnale moltiplicata-accumula ~ fusa) o molto variabile per divisione variabile (variabile per divisione costante è altamente ottimizzabile in fase di compilazione) dovresti stare bene senza il supporto di armv7s. Nel caso in cui la tua app funzioni sull'hardware più recente, tutto il software fornito da framework come layout utilizzerà comunque questi miglioramenti.

+1

Il nostro codice app non esegue molti calcoli matematici, anche se è UIKit e ci sono visualizzazioni e animazioni scorrevoli ovunque. Stai dicendo che otteniamo ancora i vantaggi VFP4 in quel codice UIKit, anche senza includere la slice armv7s per la nostra app? –