我创建了一个使用非常大的图像作为地图的地图应用.当用户放大到一定程度时,它将显示高分辨率图块;当缩小超过50%时,将显示整个图像的低分辨率位图.效果很好,在我的原始机器人上,有时会由于从垃圾收集器中抽出新瓷砖而看到非常小的滞后.
我现在正在考虑OpenGL ES如何成为更好的渲染方式.香港专业教育学院从来没有碰过它,但是从我在不同的哀悼中所读到的东西来看,我似乎可以创建一个具有8个左右面的四边形,并启用剔除功能,这样它只能绘制当前在屏幕上可见的图像.
这样会完全消除延迟吗?在我的测试应用程序中,现在我在应用程序启动时加载了图块,但我可以说延迟是由于这些图块是第一次绘制的.谢谢.
解决方法:
我已经写了一个基于OpenGL的地图视图,如果我自己说的话,这真是太棒了.遗憾的是,这是用于商业项目的,因此我无法提供代码.但是,我可以告诉您,它具有1个渲染线程,8个图块下载线程池以及(与您的问题最相关)1个存储线程,可将图块加载并保存到NAND闪存或SD卡.一次完成一个图块的渲染,每个图块是2个三角形(ES中没有四边形).它仍然非常快.