搭建游戏场景:
对场景下某一建筑 执行 this.node.destroy()时游戏会有明显的卡顿。
尝试 this.node.active = false 时也会卡顿
但是 this.node.opacity = 0 时正常,没有发生卡顿;
参考 节点销毁时明显卡顿
疑似是:
因为这个节点放在游戏地图的层级下,然后每次节点删除后又会重新渲染一遍地图,现在改成只渲染相机照到的地方,就不会出现卡顿的情况了
对场景下物体挂上检验距离的脚本,贴上解决思路的代码
protected onLoad () {
App.Event.on("onMoving", this.onMoving, this);
this.node.active = false;
}
private onMoving(pos: cc.Vec3) {
const distance = this.node.position.sub(pos).mag();
this.node.active = distance > 1000 ? false : true;
}
2.4 版本 没有找到 Camera
组件的类似的功能,所以手动把距离远的节点 active = false
,测试卡顿问题没有再出现
有更好的解决思路或者方法 也欢迎指教