soonspacejs 3.0.0-alpha.6 → 3.0.0-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -0
- package/dist/index.esm.js +3314 -3085
- package/package.json +1 -1
- package/types/Cache/ModelBufferCache.d.ts +15 -0
- package/types/Entity/ModelResources.d.ts +3 -1
- package/types/Loader/TexturePreloader.d.ts +44 -0
- package/types/Loader/scoped-gltf.d.ts +3 -0
- package/types/Manager/ModelManage.d.ts +3 -0
- package/types/index.d.ts +20 -1
package/README.md
CHANGED
|
@@ -20,3 +20,13 @@ SDK 构建将 signals 保留为外部导入。Vite、Webpack 等构建工具会
|
|
|
20
20
|
`objects` 是实际渲染树节点数;`vertices` 和 `triangles` 按有效几何、实例数及 drawRange 统计,不含 BatchedMesh 预留容量,也不是当前帧经过视锥裁剪或多 pass 后的提交量。仅有 GPU 索引缓冲而没有 CPU 索引数据时,顶点数沿用声明的顶点范围,不进行同步 GPU 回读。
|
|
21
21
|
|
|
22
22
|
统计随结构、几何和 Entity 提交变更缓存更新,静止重绘及相机运动不会为 Info 全量遍历场景。直接修改原生几何或实例数量后,应发送 `ssp.signals.geometryChanged`;共享几何的通知会同时更新其所有使用者。
|
|
23
|
+
|
|
24
|
+
## Entity 贴图预上传
|
|
25
|
+
|
|
26
|
+
`ssp.models.load()` 在返回模型资源前,分帧准备新解码 glTF 的静态贴图。CPS 的 `loadEntityScene()` 通过同一条核心加载路径获得这项优化,不需要插件或业务层另建队列。
|
|
27
|
+
|
|
28
|
+
队列由当前 SoonSpace 实例管理,共享贴图按版本去重,每轮以 4 ms 为软预算。单张贴图上传不能中断,仍可能超过预算;这项优化减少首次绘制集中上传的长帧,不保证整体加载更快或达到 60 FPS。没有待处理任务时,不保留帧回调或定时器,也不会每帧全量遍历模型。
|
|
29
|
+
|
|
30
|
+
取消请求只移除该请求的排队任务,保留其他请求仍在使用的共享贴图。销毁 SoonSpace 会清理队列和监听器;WebGL 上下文丢失时暂停,恢复后重新准备尚未完成模型的贴图。rAF 暂停时有定时调度兜底,但浏览器仍可能对后台页面限速。
|
|
31
|
+
|
|
32
|
+
原生 `loadModel()` 保留首次绘制时上传的行为,避免改变 `onLoad` 中初始化贴图的时序。同步 `models.register()`、视频、深度、渲染目标和带自定义 `onUpdate` 的贴图不参与预上传;预上传失败时沿用原生绘制路径,不因这项优化拒绝模型加载。
|