2010-11-20 29 views
3

Haritam olarak çok büyük bir görüntü kullanan bir harita uygulaması oluşturdum. Kullanıcı% 50'yi aştığında, görüntünün tamamının belirli bir dereceye ve daha düşük çözünürlüklü bir bitmap'e yakınlaştığında yüksek çözünürlüklü fayanslar gösterir. Tamam çalışıyor, benim otantik droidimde bazen çöp toplayıcıya ve içine yeni çizilen çini sayesinde çok hafif bir gecikme görebiliyorum.OpenGL ES ve Android'de büyük bitmap'leri kullanma

Şimdi OpenGL ES'nin nasıl daha iyi bir hale getirileceğini düşünüyorum. Daha önce hiç dokunmadım, ama farklı turoyallerde okuduğumdan, 8 yüze sahip bir dörtlü oluşturabilirim ve itlaflamayı etkinleştiririm, böylece sadece ekranda halihazırda görünen görüntüleri çizer.

Bu, gecikmeyi tamamen ortadan kaldırabilir mi? Test uygulamamda şimdi uygulama başlangıcında fayans yüklü var ama lagın ilk defa çizilen karolara bağlı olduğunu söyleyebilirim. Teşekkürler.

cevap

4

OpenGL tabanlı bir harita görünümü yazdım ve kendimi söylersem harika. Ne yazık ki ticari bir proje için kod sunamıyorum. Bununla birlikte, size 1 işleme parçacığı, 8 kiremitli indirme iş parçacığı havuzu ve (sorunuza en uygun olan) karoları NAND flash veya SD karta yükleyen ve kaydeden 1 depolama ipliği olduğunu söyleyebilirim. Rendering, her seferinde bir kiremit yapılır, her kiremit 2 üçgendir (ES'de dörtlü yoktur). Bu hala hızlı bir şekilde hızlı.

+0

harika. Haritanızın çözünürlüğü ne kadar büyüktü? Benimkine oldukça büyük, 6656 tarafından 4880 inanıyorum. – jfisk

+0

Nasıl demek istiyorsun? Dünya ölçeğinde, 18 zum seviyesinde ... 1TB veri siparişinde prob. –

+0

Her döşeme HDPI ekranlarında 256x256 piksel, MDPI için ise 128x128 idi. Sunucu her ikisine de izin verdi. –