2012-04-13 10 views
9

Ho appena ricevuto il nuovo iPad (3) e sto testando una versione ad alta risoluzione della mia app di disegno che utilizza CoreGraphics.CoreGraphics (molto) è più lento sul nuovo iPad?

Nella modalità normale 1024x768, l'iPad è più o meno simile alle prestazioni - con un leggero ritardo quando si disegna rapidamente.

Ma quando provo a dipingere su una tela ad alta risoluzione (2048x1536) l'app diventa insolitamente lenta e lenta. Questo perché CoreGraphics sono per lo più calcolati dalla CPU (che a mio avviso non è molto più veloce di iPad2) e deve fare ancora 4 volte di più?

praticamente ho cambiato la mia routine di disegno da

UIGraphicsBeginImageContext(CGSizeMake(1024, 768)); 

Per

UIGraphicsBeginImageContextWithOptions(CGSizeMake(1024, 768), NO, 0.0); 

Per attivare la retina disegno, e le linee sono super bella e croccante e le immagini vengono salvate in 2048x1536. Ma come detto, il ritardo e il ritardo lo rendono inutile come strumento di disegno.

Oltre alla riscrittura della mia app in openGL (non un'opzione a causa di limiti di tempo e tentativi precedenti non riusciti in una modalità di fusione critica), c'è qualcosa che posso fare per ottimizzare un'app CoreGraphics in esecuzione in modalità retina sul nuovo iPad?

+0

Con "canvas più grande" intendi il simulatore iOS in modalità Retina o un vero iPad? – CodaFi

+0

Entrambi sono molto lenti. – machineboy

+0

I problemi relativi alle prestazioni potrebbero essere più relativi all'utilizzo di CoreGraphics, piuttosto che allo stesso CG. Ci sono alcune app davvero divertenti che usano retina su iPad e non ho visto un impatto enorme. Forse potresti pubblicare come stai facendo il tuo disegno ... senza quello, sarà difficile aiutare molto. –

risposta

2

Se l'app viene creata dall'utente e rallenta l'iPad, è necessario eseguire il test su Strumenti che fa parte di xcode. Penso che possa aiutarti a scoprire il problema. Non penso che l'iPad abbia malfunzionamenti o qualcosa del genere.

+0

+1 per "eseguire gli strumenti". In particolare, consiglierei di crearlo nel tempo per vedere cosa sta funzionando lentamente e come affrontarlo (potrebbe essere diverso da quello che pensi sia la causa). –