three.js 性能优化

1.物体的清理

scene.remove(cube)
cube.geometry.dispose()
cube.matertial.diapose()

不销毁模型和材质只是单纯的remove的话还是会内存泄漏的.
2.减少灯光,灯光尽量就用平行光、环境和半球,灯光位置移动会影响性能。
3.阴影比较吃内存,可以用直接烘焙的方式比较方便。
使用辅助器对灯光和阴影进行调整

directionalLight.shadow.camera.top = 3
directionalLight.shadow.camera.right = 6
directionalLight.shadow.camera.left - - 6
directionalLight.shadow.camera.bottom = - 3
directionalLight.shadow .camera.far = 10
directionalLight.shadow.mapSize.set (10241024)

const cameraHelper = new THREE.CameraHelper(directionalLight.shadow.camera)scene.add(cameraHelper)

4.优化物体阴影的接受和投射,不需要接受阴影的物体就不要设置castShawdow,或者设置false;
如果物体的阴影不用实时更新,可以在光源改变时单独添加更新,不用放在tick()内

renderer.shadowMap.needsUpdate = true

5.render优化像素,兼容高像素高分辨率的设备

renderer.setPixelRatio(Math.min(window.devicePixelRatio,2))

6.优化shader如果有大量的shader导致很卡的话可以降低shader的质量

precision:'lowp'

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值