我创建了一个使用非常大图像作为我的地图的地图应用程序。当用户放大一定程度的放大时,它显示出高分辨率的瓷砖,而将整个图像的较低分辨率缩放时,则在50%以前的放大时。很好,在我的原始机器人上,有时我会看到一个非常轻微的滞后,因为从垃圾收集器中吸引了新的瓷砖。

我现在正在考虑开放式ES将是一种更好的渲染方式。我以前从未触摸过它,但是根据我在不同的毛茸茸中阅读的内容,我似乎可以创建一个四面左右的四边形,并启用culling,以便它只能绘制屏幕上当前可见的图像。

这会完全消除滞后吗?在我的测试应用程序中,我已经在应用程序启动上加载了瓷砖,但是我可以说滞后是由于第一次绘制的那些瓷砖。谢谢。

有帮助吗?

解决方案

我写了一个基于OpenGL的地图视图,如果我自己这么说,那真是太棒了。可悲的是,这是一个商业项目,所以我无法提供代码。但是,我可以告诉您,它具有1个渲染线程,一个8英尺下载线程的池,以及(与您的问题最相关的)1个存储线程,将瓷砖加载并保存到NAND FLASH或SD卡。渲染一次是一个瓷砖,每个瓷砖是2个三角形(ES中没有四边形)。仍然很快。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top