美文网首页
uniapp app端 + cesium + mars3d 开发

uniapp app端 + cesium + mars3d 开发

作者: 飞天御剑流co | 来源:发表于2024-01-15 22:45 被阅读0次

    上一篇写了怎么把 Cesium 导入到 uniapp,且真机运行不报错

    但是在某些设备上运行的时候,会出现 png 图片加载不全的问题

    我们拿个图片渲染测试一下,原图是这样的

    渲染之后是这样的

    这个现象让我很迷惑,明明以前用低版本1.95的时候,是可以正常加载的,为什么用了 1.113 就不行了呢,看控制台,有有明显的报错

    大概是说关于 webgl 的错误,又把版本更新到 1.95 之后,发现可以正常渲染

    既然是版本的问题,那么解决方法就简单了,113 - 95 = 18个版本

    用二分法把这测试各个版本,看是哪个版本出的这个问题就好了

    测试方法,去 github 拉取 Cesium 源码,切换到对应版本的分支,执行 build 命令,把 build 之后的源码放到项目中去运行

    我的测试顺序是 95-113 的中间版本 104 发现有此问题然后缩小范围,95-104 之间的 100 版本,发现问题消失了

    那么问题就出在 100 - 104 版本之间,本着科学严谨追根的态度,对中间的每个版本都测试了一下,发现只要是 102+ 版本,就会有这个问题,101 版本就没有

    然后找到 Cesium 的 changelog 链接

    https://github.com/CesiumGS/cesium/blob/main/CHANGES.md

    在里面搜索 1.102,发现 Cesium 在 102 版本之后,使用了 webgl2 去渲染 Cesium,但是不是所有移动设备都支持 webgl2

    解决办法就是按照官方写的,在高版本自己去配置使用 webgl1 去渲染 Cesium,至此,webgl 导致图片渲染的问题解决

    本文使用 文章同步助手 同步

    相关文章

      网友评论

          本文标题:uniapp app端 + cesium + mars3d 开发

          本文链接:https://www.haomeiwen.com/subject/unahodtx.html