此处为Mobile SDK MapOffScreenRenderer性能问题



我使用的是Here Mobile Android SDK和MapOffScreenRenderer类,用于将地图视图镜像到Android上的演示屏幕。但是,不幸的是,MapOffScreenRenderer生成位图的性能还不够。我该怎么办?

我可以更改生成的位图的RGB配置以提高性能吗?(例如,以某种方式将其切换到rgb 565)。

或者我可以通过其他方式更改一些设置以提高性能吗?

或者我可以在不将OpenGL纹理包装到位图中的情况下以某种方式获得OpenGL纹理?

有没有任何api可以决定我想在位图上看到地图视图的哪些层?

我使用的是官方文档中的代码。任何帮助都将不胜感激。

使用屏幕外渲染器捕获的位图总是非常慢。它必须从由PBuffer曲面支持的渲染线程中读取后缓冲区。因此,再多的RGB配置也无法加快速度:)

如果您知道如何直接处理OpenGL调用,请在MapOffScreenRenderer中注册OnMapRenderListener和SurfaceUpdatedListener,并使用MapOffScrenRenderer#start(SurfaceHolder、SurfaceUpdated Listener),您可以完全按照您的用例描述构建。SurfaceHolder允许开发者提供一个自定义的Android曲面,地图将被渲染到该曲面中。SurfaceUpdatedListener在通过交换缓冲区提交OpenGL渲染调用时提供回调。查看更多关于SurfaceTexture和Surface的高级android文档。

您也可以尝试使用Map#setVisibleLayersAPI来渲染较少的层,以关闭一些渲染层。然而,我怀疑这是否会显著提高性能。

你的下一个回复可能是你想要一个样本,但不幸的是,我没有任何公开的东西可以分享。

相关内容

  • 没有找到相关文章

最新更新