2014-10-14 4 views
10

Ho un problema con Xcode 6 che risponde molto lentamente alle interazioni dell'utente, ad es. modifica del codice, aree di scorrimento, ecc. Ciò si verifica in particolare quando il generatore di interfacce mostra i controller della vista con vincoli nello storyboard (4/14 vcs ha dei vincoli, inizio il progetto).xcode 6 builder di interfaccia prestazioni molto lente quando si visualizzano i controllori di vista con vincoli

Mi chiedo se c'è qualcosa che posso fare per migliorare le prestazioni cambiando le opzioni xcode o in altro modo.

La mia macchina di sviluppo è un MacBook Pro Retina (Retina, 15 pollici, fine 2013) con Intel Core i7 da 2,3 GHz e 16 GB di RAM (DDR3 1600 MHz), con OSX 10.9.5 (Mavericks).

risposta

14

Ho avuto questo stesso problema in cui le prestazioni sono crollate su un display esterno.

Quello che ho scoperto è che il problema del monitor esterno indicava che c'era un UIView che il generatore di interfacce non era in grado di calcolare correttamente per il layout automatico.

Nel mio caso era uno UIToolbarBarItem che conteneva uno UIView che conteneva uno UILabel. Una volta rimosso l'errore UIToolbarBarItem, il problema di prestazioni si è risolto. È passato dall'essere completamente inutilizzabile allo scorrimento uniforme.

Si dovrebbe controllare se si dispone di un UIView all'interno di qualcosa che potrebbe causare l'auto-layout di essere fuori di testa.

+0

hai ragione, nel mio caso si trattava di una UINavigationBar con UIView. – fabrizotus

+0

mi è successo anche questo ... ma non sto usando il layout automatico ... Ho dosens di controller di visualizzazione ... xcode usa costantemente il 95% di cpu ed è veramente insensibile ... Non ho rilevato il problema nel mio case –

+1

Esperto su Sierra con Xcode 8.1 e 8.2 beta. Il ripristino della barra di navigazione delle metriche simulate/barra degli strumenti su Nessuno ha ripristinato la dolcezza di 60FPS. È semplicemente assurdo che una tale impostazione priva di significato abbia un impatto così devastante. – CloakedEddy

18

Si utilizza un monitor esterno? Se sì, probabilmente questo è il problema. Prova a passare alla schermata principale del MacBook e riprova.

Questo ha risolto il problema per me.

MODIFICA: scusate, appena letto avete un monitor esterno. Quindi sì, passa alla schermata principale e controlla se questo risolve il problema.

EDIT 2: sembra che Apple abbia risolto il problema, nessun problema con il mio monitor esterno!

MODIFICA 3: meh! Il problema persiste, non è sicuro del motivo per cui ha smesso di accadere e si ripresenta ora.

+0

hai ragione, quando ho spostato sulla schermata principale il problema è risolto, ma voglio lavorare con il generatore di interfacce nel monitor esterno (più grande). Qualche trucco per questo? ... grazie per la tua risposta. – fabrizotus

+0

Spot on! Mi chiedo cosa potrebbe spiegare questa causa. – Drux

+0

Ancora nessun trucco, il problema persiste qui. Sono abbastanza sicuro che ci sia qualche problema di rendering legato alla retina ... Impressionante e fastidioso, ma per ora dobbiamo affrontarlo. –

-2

Wow, grazie quindi molto ragazzi! Stavo avendo un grosso problema con Xcode che veniva rallentato durante la scansione mentre stavo modificando gli elementi dell'interfaccia nell'editor di interfaccia. Tutto quello che dovevo fare era deselezionare "Usa layout automatico" sotto la scheda "File Inspector" .xib, ed è più veloce che mai!

Quindi, se avete problemi con l'editor dell'interfaccia di Xcode/Interface Builder che è lento, basta disabilitare il layout automatico per quel file .xib mentre ci state lavorando, quindi quando avete finito di modificare il file .xib, come passo finale, riattivalo e aggiungi i tuoi vincoli agli oggetti.

+0

Si prega di non aggiungere "grazie" come risposta. Invece, vota le risposte che trovi utili. - [Dalla recensione] (/ recensione/post di bassa qualità/10520749) –

+0

Ho usato la parola "grazie". Ho anche usato altre parole. Li hai letti anche tu, o si trattava di una sorta di risposta automatica del filtro priva del riconoscimento della lingua inglese? Nessuno ha suggerito in nessuna risposta o commento a questa domanda ciò che ho suggerito nella mia risposta a questa domanda, quindi, ho fornito una risposta originale alla domanda. E ho affermato che l'esecuzione di questa risposta per me è stata utile per prevenire un problema che avevo collegato al problema presentato nella domanda, rendendo così la mia risposta pertinente alla domanda. Quindi ho fornito una risposta unica pertinente alla domanda. Perché eliminarlo? – Sparky

+0

Riesco a vedere il tuo punto di vista, anche se anche dopo aver riletto la tua risposta mi sembra ancora che tu stia dicendo che ti è piaciuta (quindi ripetuta) la risposta di qualcun altro. Ti dispiacerebbe riformulare la tua risposta per renderlo più chiaro? –