2016-03-23 18 views
0

İki farklı aktivitede (bir işlemde normal oluşturma ve diğer VR oluşturma) çalışmam gereken bir 3d android uygulaması geliştiriyorum. Bir etkinlikten diğerine geçtiğimde 3B model verilerinin (verteksler, indeksler) kaybolduğunu bulabilirdim. İlk etkinliğe geri dönersem, tüm verileri dosyalardan yeniden yüklemem gerekiyor. Bu özel konuyla ilgili herhangi bir iş var mı? Ayrıca, en hızlı yükleme hızını elde etmek için modelleri kurtabileceğim en iyi format hangisidir.Yeni bir aktivite yüklendiğinde opengl içerik kaybı nasıl önlenir

cevap

2

GLSurfaceView.setPreserveEGLContextOnPause'u kullanabilirsiniz. EGL bağlamlarını koruma desteği desteklenmezken, modern Android cihazlarda yaygın olarak kullanılabilir.

Model yükleme hızına gelince - 'fikir tabanlı' bölgeye tehlikeli bir şekilde yaslanıyorsunuz. Ancak, GLES arabelleklerinizi cihazda beklediğiniz gibi ortaya koyan bir model formatı, herhangi bir değişiklik olmadan doğrudan diskten aktarılabilir - bu muhtemelen en hızlı yükleme çözümünüzdür. Ancak, birçok geliştirici daha esnek olduklarından ve doğrudan DCC araçlarından dışa aktarıldıkları için başka bir format kullanırlar (örn. FBX/OBJ/etc.).

+0

Teşekkürler, etrafta çalışabilirim, bağlam kaybını önler. Moveover, arabellekleri doğrudan bir dosyaya kaydetmeme yardımcı olabilecek bazı kaynaklar önerebilir. – sreesreenu