使用GeoScene Api for Javascript 构建强大高性能的三维应用.pdfVIP

使用GeoScene Api for Javascript 构建强大高性能的三维应用.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用GeoScene API for Javascript 构建强大高性能的三维应用 GeoScene Api for Javascript 引入方式 项目中引入JS API方式有两种: • AMD :异步加载,无需打包,项目运行时在html中挂载script标签,直请求取部署在服务器上的API。 对比ESM较为简单,可快速开始开发,目前推荐demo级或者轻量的应用开发使用。(向前兼容4.X API 的老项目) • ESM:通过npm下载依赖到本地,接入webpack等打包工具,引入编译、压缩、TreeShaking和单元 测试等功能,享受更丰富现代的JS或 TS语法支持,适合规模更大,更复杂的应用开发场景。 核心类 Accessor (访问器) 大部分JS API中提供的类都是访问器核心类的子类。Accessor中主要有 get (访问)、set (设置)和watch ( 监听)方法,提供一种读写和监听实例属性的机制,给开发者带来了一致、简洁、高效的开发体验 。核心 原理是通过Object.defineProperty ,劫持数据的访问和设置。 访问属性方法 get ,支持安全访问嵌套属性(类似于es2020中的optional chaining): const basemapTitle = map.get(basemap.title); 设置属性方法 set,支持多个属性值的批量设置: const newViewProperties = { center: [ -100, 40 ], zoom: 6 }; view.set(newViewProperties); 监听属性值变动方法watch ,观察者设计模式,提供了响应式功能,高效更新修改部分数据对应的UI : const handle = view.watch( scale, (newValue, oldValue, property, object) = console.log(newValue, oldValue, property, object) ) 此外JS API 还提供了响应式工具 reactiveUtils,提供多种watch, on , once , when, whenOnce等多种监听工具(监听逻辑 复用)。支持多种数据类型的对象属性的观察,也支持合并观察多个属性。 JS API 针对三维场景优化策略 多级缓存策略:除了服务器端CDN缓存和浏览器请求 缓存的原始三维数据外,JS API会将当前场景处理过 的CPU运算友好型3D数据,缓存在浏览器 IndexedDB中,便于CPU复用。 i3s数据请求策略:目的是有限时间内加载合适(屏幕中心先于屏幕边缘, 先于屏幕外)的数据。单纯使用并行请求,消费全部有限带宽,会导致 渲染场景不急需的数据请求占满带宽造成阻塞。 JSAPI 将i3s数据请求分为两类: 1. Index Nodes:返回服务数据的位置,包含许多子请求。 2. Geometry Data :场景中渲染需要的数据,请求数量少,但内容非 常大。 JS API针对这两种请求场景结合加载优先策略动态进行请求参数调整。 JS API 针对三维场景优化策略 渐进式加载(LOD)策略:加载大量三维数据时,先快速展示一个预览然后加载更精细的数 据,优于长时间空白等待详细数据。JS API中的LOD系统基于屏幕分辨率。首先模拟一个较 低的分辨率的屏幕,下载在该分辨率下需显示的节点,实现图层的快速概览。然后请求更精 细的数据来优化三维场景显示。 单个图层内存使用策略:渲染三维图层时,根据i3s服务提供的模型球体边界信息,重新计算 出更贴合的模型包围体(计算结果缓存在Indexe

文档评论(0)

wendangchuan + 关注
实名认证
文档贡献者

高级工程师持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年09月22日上传了高级工程师

1亿VIP精品文档

相关文档