ThingJS本地加载速度提升10倍,复杂场景不愁!

ThingJS推出浏览器临时缓存持久化技术,显著提升大型3D场景的加载速度。首次加载后,场景加载时间从62秒降至19秒,最高可达10倍提升。通过引用thing.cached.min.js库,开发者可以将模型资源存储到本地缓存,后续加载优先从缓存读取,目前支持.glb, .gltf等模型文件。" 124433741,11116776,2022电工初级考试详解,"['电工', '安全', '考试']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这真是一个甜蜜的烦恼,大型3D场景结构复杂,对精度要求很高,产生大量数据读取。为此, ThingJS研发出浏览器常规临时缓存持久化技术,目的是降低数据传输压力、提高大型场景的开发体验,这一宝贝功能终于测试完毕上线了!

要注意,ThingJS平台的场景加载都有首次常规读取过程,第二次才开始执行本地缓存命令,飙升的加载体验令人惊喜!

中丹1.02 场景示例图

某三维大型场景测试结果表明,首次加载至少需要62秒,启用本地缓存功能之后,大型3D场景加载仅用19秒,性能提速62%以上!加载性能具体取决于电脑网络或开发环境的综合因素,可以手动实践一下~~听说有开发者体验到飙升至10倍的加载速度!

这是一个基于浏览器的本地缓存功能,由ThingJS平台提供的thing.cached.min.js库封装提供,按照JS脚本提供的代码执行加载本地3D场景。以下是详细的操作步骤:

1、引用thing.cached.min.js文件封装库
2、第一次加载场景,先把文件后缀为’glb’, ‘gltf’, ‘bin’, ‘json’, ‘jpg’, 'png’等模型资源储存到缓存中
3、之后的加载优先从缓存里读取数据,目前仅支持模型类的文件对象,后续会有扩展。

THING.Utils.dynamicLoad('https://www.thingjs.com/static/plugins/thing.cached.min/1.1.0/thing.cached.min.js',
    fun
### ThingJS在前端开发中的应用 ThingJS 是一款专注于三维可视化领域的产品,能够帮助开发者快速构建基于 Web 的 3D 应用程序。它提供了丰富的 API 和工具集,使得即使是没有深厚 3D 技术背景的开发者也能轻松上手。 #### 1. **ThingJS 平台简介** ThingJS 提供了一个强大的在线开发环境,支持用户无需安装任何额外软件即可完成项目的创建、编辑和部署[^1]。其核心势在于简化了传统 3D 可视化开发流程,降低了技术门槛。 #### 2. **ThingJS 的主要应用场景** ThingJS 不仅适用于简单的展示型项目,还广泛应用于复杂的工业级解决方案中。以下是几个典型的应用方向: - **Web 内嵌页面与 3D 交互功能开发** ThingJS 支持通过 WebView 组件将 HTML 页面无缝集成到 3D 场景中,并允许两者之间传递消息[^2]。这种特性非常适合需要动态更新 UI 或者实时反馈操作状态的需求。 - **线路采集及相关功能实现** 对于涉及路径规划或者管网布局类的任务,可以利用 ThingJS 提供的相关接口收集坐标点并绘制轨迹线[^4]。这有助于提升用户体验以及增强系统的功能性。 #### 3. **基本使用教程** ##### (a) 数据通信机制 为了使外部网页能与 ThingJS 进行双向通讯,通常采用 `postMessage` 方法发送信息给目标窗口实例;同时设置事件监听器捕获来自对方的消息通知[^3]。 ```javascript // 清除旧有绑定以防冲突 window.removeEventListener("message", handlerFunctionName, false); // 添加新的消息处理器 window.addEventListener("message", function(event){ console.log('接收到的数据:', event.data); }, false); function sendMessageToThingJS(dataObject){ parent.postMessage(JSON.stringify(dataObject), '*'); } ``` ##### (b) 创建基础工程结构 登录至官网后进入控制面板新建空白模板,默认会自动生成一套完整的文件夹体系包含但不限于 index.html 文件作为入口加载引擎库资源链接地址定义样式表单等内容片段如下所示: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"/> <title>My First Project</title> <!-- 引入必要的 CSS --> <link rel="stylesheet" href="./styles.css"> <!-- 加载 ThingJS SDK --> <script type="text/javascript" src="//www(thingjs.com)/api/v1/sdk.js"></script> </head> <body onload="init();"> <div id="container"></div> <script> let app; async function init(){ const options = { containerId : 'container', sceneFileUrl: '' // 如果存在初始场景则指定URL }; try{ app = await THING.App.create(options); // 初始化完成后可执行其他逻辑... }catch(error){ alert(`初始化失败:${error.message}`); } } </script> </body> </html> ``` #### 4. **总结** 综上所述,借助 ThingJS 能够极大地缩短从前端设计到最终交付的时间周期,尤其对于那些希望迅速验证想法原型的企业和个人而言尤为适用。然而值得注意的是尽管该框架极大地方便了入门学习过程但仍需不断积累实践经验才能充分发挥潜力。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值