首页 / 浏览问题 / 三维GIS / 问题详情
添加鼠标移动事件,页面明显卡顿
14EXP 2023年11月06日
使用产品:超图cesium 操作系统:win 10 问题详细描述:我是用以下方式方式添加移动事件,函数中没有任何操作页面就明显卡顿 this.handler.setInputAction((e) => { const pickedObj = viewer.scene.pick(e.endPosition); if (pickedObj && Cesium.defined(pickedObj.primitive) && pickedObj.primitive.type === "buildModel") { console.log(pickedObj); } }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);

1个回答

在官方示例和本地测试并没有卡顿

建议您这边在官方和本地示例试试,排除数据造成的影响

鼠标移动事件的监控为ScreenSpaceEventHandler

具体使用方法可以参考博客:https://blog.csdn.net/u010358183/article/details/121610901

4,116EXP 2023年11月06日
handler.setInputAction((move) => {

          let pickedObj = viewer.scene.pick(move.endPosition);
      }, Cesium.ScreenSpaceEventType.MOUSE_MOVE);

你好,我排查出来是因为加上viewer.scene.pick(move.endPosition);就会卡顿。fps掉到3,内存直接从几十涨到三百多

页面中只初始化了实体,版本是'1.105'

scene.pick是场景拾取功能,并不是鼠标移动事件

请根据具体的需求正确使用

scene.pick出现卡顿,可能是当前场景的对象过多,鼠标经过的时候出现了大量的检索情况

导致内存不够

http://support.supermap.com.cn:8090/webgl/Cesium/docs/Documentation/Scene.html?classFilter=scene

...