Ho lavorato a un gioco e l'ho provato con la versione precedente di iOS, giocato centinaia di volte e non ho visto nemmeno un singolo incidente, dopo che Ho installato iOS7 e aggiornato xcode ho appena provato la mia app e ... ora a volte si blocca. Gli arresti non si verificano in un particolare momento o azione, sono completamente casuali, a volte si bloccano all'istante, a volte dopo 2-3 giochi, ho provato a fare le stesse cose per verificare se è qualcosa in particolare ma sembra non essere, o almeno non qualcosa di apprezzabile in questo modo. Sto usando sprite e batchnode nella scena del gioco.iOS 7 e Cocos2d, exc_bad_access su glDrawElements completamente casuali
Esattamente in questa riga di codice (circa 522) nel file CCTextureAtlas.m:
glDrawElements(GL_TRIANGLES, (GLsizei) n*6, GL_UNSIGNED_SHORT, (GLvoid*) (start*6*sizeof(_indices[0])));
dal momento che non ha fatto alcuna modifica al codice dubito fortemente che possa essere qualcosa che ho fatto, probabilmente è qualcosa legato ai cambiamenti in iOS7 che riguardano cocos2d? Non sono nemmeno esperto con OpenGL quindi ho difficoltà a capire cosa sta succedendo ...
ovviamente in un gioco Ho alcune animazioni in corso ...
informazioni aggiuntive:
- questo NON sta succedendo dopo un avviso di memoria (non ho avvertenze di memoria affatto).
Assicurarsi che non si dispone di qualcosa che causa le chiamate OpenGL su un altro thread/coda che potrebbe danneggiare lo stato del VBO (cosa sta cercando di disegnare glDrawElements), poco prima del richiamo di glDrawElements(). – mattorb
questo succede anche a me ... ma solo nel simulatore (badate bene, 'non vedere' qualcosa è difficile da provare). Quando si esegue in simulatore, dopo l'eccezione, posso riprendere da lì !!! – YvesLeBorg
Ho capito che nel mio caso il problema era causato da CCLabelBMFont, probabilmente dopo che iOS7 è successo qualcosa e mentre disegnandoli c'è la possibilità di avere un crash. In realtà li ho sostituiti con CCLabelTTF e ora va tutto bene, ma poiché non so ancora come risolverlo (è solo una soluzione) non sto inviando una risposta ... Ho scoperto che probabilmente quelli sono le modifiche da apportare ma non ho ancora provato: https://github.com/jllust/cocos2d-x/commit/1f3c1145362c921bf5232c4ffbca4a5245042bae – Adarkuccio