2015-04-17 23 views
5

C'è un callback per ricevere una notifica dopo che il contesto openGL è stato perso?LibGDX: come determinare in modo affidabile se il contesto opengl è stato perso?

Ho provato ApplicationListener/Game.resume() ma (su Android) ci sono alcuni casi in cui viene richiamato resume() anche se il contesto non è stato perso. Così come in altri casi in cui il contesto si è perso, ma non è stato chiamato resume().

Qual è il modo corretto per determinare in modo affidabile se il contesto OpenGL si è perso in libGDX?

risposta

0

Non esiste una semplice solution per un'applicazione con trame gestite e non gestite/dinamiche. L'articolo spiega perché non si può davvero ottenere un trigger. Suggerirei di usare AssetManager in modo da poter aggiornamento vostri beni su curriculum metodo di ApplicationListener. Dovresti visitare e leggere entrambi i link.

0

È altamente improbabile che abbiate mai una perdita di contesto in primo luogo. Vedi this post per una spiegazione più dettagliata. Ma anche se hai una perdita di contesto (che si verifica solo su dispositivi Android molto vecchi con Android 2.x), allora libGDX si prenderà cura di te e ripristinerà le risorse per te. Non devi fare niente per quello.

È più probabile che in qualche modo "pensi" di avere una perdita di contesto, mentre in realtà hai un altro problema. Ad esempio, il motivo più comune per cui le persone pensano di avere una perdita di contesto, è quando utilizzano le risorse static. Per esempio. utilizzando il modello singleton con inizializzazione pigra.

Naturalmente, senza vedere alcun codice, questo è solo indovinare.

Problemi correlati