Cesium报错分析(一)

错误类型是:DeveloperError,错误信息是:cartesian is required,见下图:

报错信息
报错信息

原因分析

        这个问题早在去年就已经发现了,但是当时一直没找到解决方案,而且在有的电脑上能正常运行,有的电脑上就会报错,起初怀疑是Cesium的bug或是显卡兼容性的问题;直到现在,原本在我电脑上能正常运行的代码突然复现了之前的错误,我最近电脑除了前两天把HDMI接口重新插拔外没有改过任何环境和配置,于是我意识到很有可能是显卡的问题。由于项目需要,在使用射线求交时,地形表面会增加一些冗余判断,因此在运算前隐藏地表可以大幅减少运算时间、提高效率。

viewer.scene.globe.show = false

        我尝试过将这行代码注释掉,程序就能正常运行,不会报错;还有一个将我思考方向定位到GPU的事件是,在我重插HDMI数据线后,VUE的编译速度明显比以前慢了很多。我打开任务管理器发现现在所有的程序都是用我的核显运行,独显不参与工作,所以我猜测有没有可能是GPU的问题,于是尝试将程序运行的GPU切换到独显。

解决方案

        首先我的工作环境是两台显示器,一台显示器连接主机核显接口,一台显示器连接主机独显接口,打开任务管理器,观察当前测试使用的Web浏览器所用的GPU引擎,可以看到浏览器是运行在GPU0上,也就是核显。

         在桌面“右键”,点击“显示设置”,在“屏幕”设置里“多显示器”中将连接了独显的显示器设为主显示器。

         关闭浏览器再重新打开,此时会发现浏览器已经运行在GPU1,也就是独显环境下了。

         然后再次运行上面报错的代码,现在已经可以正常运行了~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值