iMobile中三维数据的性能优化

原创 2017年12月12日 17:40:09

作者:xinxin

      目前,很多项目都用SuperMap iMobile for Android产品来实现展示三维数据效果,但由于三维数据对硬件设备要求高,而移动端设备的硬件远不如PC端,所以想要在iMobile中加载较多的三维数据,又要保证有良好的性能,需要先在iDesktop中将三维数据做优化,然后再加载到iMobile的场景中,下面和大家分享一下怎么来优化。
在iDesktop优化数据的时候可以根据场景中的“帧率”来判定整个场景性能的快慢。在桌面“场景”的“场景属性”中勾选“帧率信息”,在三维场景的左下角就能看 到“平均帧率”。一般而言,低于 10 帧就会非常卡顿,15 帧以上会好一些,20 帧以上 较为流畅,30 帧以上就非常流畅了。当帧率低的时候可以从以下几个方面来优化:

1、 切场景缓存

      对于三维数据性能优化而言,最重要的就是出场景缓存,可以这么说:“无缓存,不性能”。缓存的作用是把适合用来进行数据库管理的模型和矢量等各类数据,按照便于显卡进行三维渲染来进行重新组织和优化,而且对于iMobile端三维数据只支持场景缓存数据,在iDesktop切缓存的时候要选择对应的设备类型,如下图所示。在iDesktop 9D版本切场景缓存的时候就进行了纹理压缩,以前的版本切完缓存后还需要进行单独的纹理压缩再拷贝到移动端打开。
这里写图片描述

2、 升级到最新版本

      iDesktop产品的后一个版本对于前一个版本在某些方面对三维数据进一步优化提升性能,所以建议切场景缓存和加载场景的产品用最新的版本来实现。

3、 三维特效合理运用

各种三维特效,或多或少会影响三维性能,所以要正确的选用三维特效。在优化的过程中要先找到影响性能的特效图层,然后采用有针对性的优化方法,具体可以从以下方面排查:
(1) 水面特效:需求关注矢量面对象个数及对象节点数,尽量用少的节点数的多边形来表示水面特效,如果面的节点过多,可以进行抽稀;
(2) 粒子特效:主要关注粒子的个数,建议只在需要的时候开启图层,不需要的时候设置不可见;
(3) 阴影特效:推荐用Max烘焙来实现,平台提供的实时阴影对性能影响比较大。

4、 特殊图层

      当场景中有文字标签图层、kml图层或者跟踪图层的时候要保证图层中不要有过多的对象,如果场景中有很多标签图层,可以通过图层高度设置,距离设置,文字避让等来减少同时显示的文字数量。

5、 场景加载的三角面片数量

      在开启【帧率信息】时,同时会显示出当前绘制的三角面片数量,场景中的建筑、树、小品的纹理尽量简单一点,使当前绘制的三角面片数量越少越好。

6、 检查模型数据制作

      Max中制作的模型,其质量好坏会严重影响三维浏览性能,可以关注以下几个方面:
(1) 尽可能用少的三角面片去构建模型骨架。例如高楼的一面墙,不要每层楼都勾画线,而 是用贴图的方式体现出楼层来;看不到的地方应删除掉等;
(2) 用尽可能少的贴图数量。例如相近的墙面可以共享贴图;细碎的纹理拼接为一个图等;
(3) 贴图大小不要太大。一般建议控制在 1024*1024 之内,最大不要超过 2048*2048;
(4) 除非必要,采用单面渲染,而非双面渲染;
(5) 尽可能独立的建筑物作为一个单独的对象,不要把相邻的建筑物合并为一个对象,也不要把一个建筑物拆分为N多个对象;

7、 图层数是否过多

      场景渲染时,每个图层都会占用一定的资源,并且调度时也会有一定的损耗,建议控制在20层以内,最多不要超过50层,可以通过以下方式减少图层数量:
(1) 合并同类型图层:例如模型可按照:建筑、地板、树木、小品等分为 5-8 层即可,不同区域的建筑可先在数据集中合并后再生成缓存 ;
(2) 通过图层可见高度控制同时可见的图层数量。

8、 图层参数设置

      场景的图层属性中也有很多参数会影响场景性能,比如:图层可见高度、对象可见距离、精细纹理距离、LOD距离等。
(1) 设置场景图层的最大和最小可见高度,减少同时显示的图层数量;
(2) 模型和矢量图层可以设置最远可见距离,超过该距离的物体将不被显示,比如:建筑模型设置为3000-5000米,树、小品设置为500米比较合适;
(3) 模型图层,可设置精细纹理距离和LOD距离。精细纹理距离是控制模型贴图清晰层到抽 稀层的距离,默认距离为 200 米;LOD 距离是模型贴图抽稀层到模型骨架抽稀层(LOD)的距离,默认距离为 800 米。
这里写图片描述

9、 数据格式

      影像数据建议用切成sci3d格式,性能优于影像的sci格式;地形图层要切成tin地形,否则在iMobile中不支持。
      通过上述方法优化后,在iDesktop中浏览的性能良好,然后保存场景,拷贝到移动设备中,用iMobile产品打开加载优化后的场景数据。由于移动设备的原因,场景数据在iDesktop中浏览的性能好,但是在iMobile中还是比较卡顿的话,就要在iMobile中确定是哪个图层影响的性能,可以通过设置场景图层的可见性来测试、最终确定影响性能的图层,然后再根据该图层的实际情况在iDesktop中继续优化。另外,移动端设备硬件配置的高低也会严重影响场景显示的性能,所以尽量用高配置的移动设备来显示三维数据。移动设备的性能可以用安兔兔等第三方软件来测试。

版权声明:本文为博主原创文章,欢迎转载,SuperMap技术问答社区 http://ask.supermap.com

SuperMap iMobile for iOS 三维入门开发教程(一)

作者:为梦齐舞       伴随移动互联网的快速发展,移动客户端的使用数据量正在的逐步的逼近PC端,当移动端遇到三维GIS会绽放出如何的光彩? SuperMap iMobile for iOS是基于i...
  • supermapsupport
  • supermapsupport
  • 2017年03月24日 16:46
  • 717

SuperMap iMobile for IOS-数据操作

一、基本概念 1、工作空间(Workspace)         工作空间是用户的工作环境,主要完成数据的组织和管理,包括打开、关闭、创建、保存工作空间文件(SXW,SMW,SXWU,SMWU,DE...
  • SuperMapiMobile
  • SuperMapiMobile
  • 2016年03月03日 09:48
  • 361

iMobile for iOS 三维应用实例

iMobile for iOS 三维应用实例目录
  • supermapsupport
  • supermapsupport
  • 2017年03月31日 18:32
  • 439

SuperMap iMobile for Android许可使用和问题解决

作者:xinxin 使用SuperMap iMobile for Android需要对应的许可,其分为使用许可和正式许可。下面主要分享怎么使用试用许可、激活正式许可和许可不可用的一些解决方法。1、 ...
  • supermapsupport
  • supermapsupport
  • 2017年06月29日 17:01
  • 661

SuperMap iMobile for Android 三维开发指南

目录 下载链接:https://pan.baidu.com/s/1i31upKD提取码:5vbh
  • supermapsupport
  • supermapsupport
  • 2017年03月31日 18:05
  • 501

matlab三维数据绘图

3D数据绘制唇部图像主要由两部分构成,一个是唇部在X-Y平面的栅格,一个是根据相应Z轴的涂色。主要使用了matlab里meshgrid、surf和shading。 1 使用meshgrid生成栅格 ...
  • yongchunaq
  • yongchunaq
  • 2014年07月15日 20:31
  • 3127

iMobile for ReactNative入门使用介绍

iMobile for ReactNative入门使用介绍iMobile for ReactNative是SuperMap iMobile推出的一款基于React-Native框架的移动应用开发工具,...
  • supermapsupport
  • supermapsupport
  • 2017年07月14日 14:05
  • 523

SuperMap iMobile for Android许可配置介绍

SuperMap iMobile for Android许可配置介绍本文介绍SuperMap移动端产品的使用前的许可配置,目前我们产品提供了两种类型的许可,试用许可和正式许可。试用许可只需邮箱即可申请...
  • supermapsupport
  • supermapsupport
  • 2017年06月02日 17:36
  • 604

SuperMap iMobile for Android 三维开发指南

1 简介 ……………………………………………………………………………………………………………………… 4       1.1 Android SDK ………………………………………………………...
  • supermapsupport
  • supermapsupport
  • 2017年05月04日 08:39
  • 762

浅谈SuperMap iMobile for Android在Android Studio平台开发应用

作者:xinxin       2013年5月16日,在I/O大会上,谷歌正式推出新的Android开发环境—Android Studio,并对开发者控制台进行了改进,增加了一些新功能。随着谷歌的推广...
  • supermapsupport
  • supermapsupport
  • 2016年05月20日 14:50
  • 2049
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iMobile中三维数据的性能优化
举报原因:
原因补充:

(最多只允许输入30个字)