首页 > 其他分享 >如何解决一个偶现的bug,附一个解决threejs模型贴图呈现白色bug流程

如何解决一个偶现的bug,附一个解决threejs模型贴图呈现白色bug流程

时间:2023-02-12 14:45:01浏览次数:44  
标签:贴图 动画 threejs 白色 偶现 bug 图片

如何解决一个偶现的bug 

     首先引用公司测试的一句话:所有偶现的bug必定有一个必现的途径。

     因此解决偶现bug两种方案:

     1.让bug的出现概率变大。

     2.尝试让bug必现。

举例环节

       1. 现象

           模型贴图部分偶现渲染不出来呈现白色的情况。

         

 

      2. 解决过程

          第一步:图片压缩

                我去分析相关代码,在我分析过后,并没有发现什么漏洞,图片及其他各项参数都没有问题。因为我们的图片是放在数据库的,通过接口请求拿到的,

         所以猜测是否是因为图片太大,请求过慢,导致模型没有渲染上图片,所以我们把所有图片都压缩了一遍,然后又进行测试,发现还是会出现。

          第二步:更改尺寸

                 我去threejs群里问了相关的问题,大佬让我更改图片的尺寸,将长,宽都更改为2的n次方,我去threejs官网看了也推荐使用这样的分辨率,于是又是

          更改图片,进行测试,依旧不行。

         第三步:比较差异

                 我们将所有出现白屏的图片进行比较发现,出现白色的大都是双开门的图片。

         第四步:将双开门的图片放在本地

                 看是不是还是因为请求过慢,导致图片没有请求成功,放在本地后再进行测试,发现出现的概率更大了,这给我们修复问题提供了测试环境。

          第五步:尝试排除干扰因素

                  将出现白色和未出现白色的两两组合看到底是哪个造成了影响。最后找出原因:是一个由动画的设备影响了没有动画的设备。

          第六步:猜想以及分析代码

                  定位到开门动画影响到了图片的渲染。猜想是不是开门把原有的关门模型给销毁了,随之图片材料也销毁了。

                  分析代码,确实同一张图片用的相同的图片材料缓存,开门动画把材料销毁后,其他还没渲染成功的设备去取相应的材料失败,导致白色出现。

         第七步:解决方案

                  将有动画的设备和静态设备分用两张相同但是名字不同的图片创建材料。尝试,在大概率出现白色的环境没有再出现,成功解决。

 

标签:贴图,动画,threejs,白色,偶现,bug,图片
From: https://www.cnblogs.com/userGao/p/17113798.html

相关文章

  • Android Studio各种bug
    AndroidStudio3.2版本,新建工程后,出现了如下bug:       暂时解决办法如下:点击OpenFile后,会打开app文件,原始的依赖文件如下:   将“33.”删除,修......
  • go格式化输入没有解析到正确的类型,有bug
    packagemainimport( "fmt" "math/rand" "time")funcinit(){ rand.Seed(time.Now().UnixNano())}funcmain(){ target:=rand.Intn(101) count:=0 c......
  • ThreeJS着色器初体验之平面波动效果
    起因搞了好久的cesium,好久没搞过THREE了,打算重拾一下THREE的内容,加深一下学习。效果平面波动+明亮颜色变化Three的着色器THREE写着色器效果分别是ShaderMaterial和Ra......
  • juicefs debug mount启动看源码
    main.go里面importcmd包和utils包通过多个init()函数首先注册各种元数据组件下面以redis为例funcinit(){Register("redis",newRedisMeta)Register("rediss",newRe......
  • juicefs debug echo看源码
    断点挂载后,在桶的根目录执行命令行echo"11111">/mnt/s3/333.txtgo-fuse库(server.go)::readRequest->handleRequest(这个时候handler是CREATE)->go-fuse库(opcode.......
  • juicefs debug ls看源码
    断点挂载后,在桶的根目录执行命令行lsgo-fuse库(server.go)::readRequest->handleRequest(这个时候handler是READDIRPLUS)->go-fuse库(opcode.go)::doReadDirPlusjuic......
  • 好客租房119-tabbar栏目高亮bug修复
    路由切换页面高亮的问题importReactfrom'react'import{TabBar}from'antd-mobile'import{BrowserRouterasRouter,Route,Link}from"react-router-dom"import......
  • Mac mini 自动关机 bug All In One
    Macmini自动关机bugAllInOne问题描述发现Macmini夜里突然自动关机了,按了开机键也没有反应,导致Macmini无法开机❌故障原因分析浏览器开太多标签页面,导......
  • 【THM】Daily Bugle-练习
    本文相关的TryHackMe实验房间链接:https://tryhackme.com/room/dailybugle通过学习相关知识点:通过SQLi渗透JoomlaCMS帐户,练习哈希破解操作并利用yum进行提权。部署......
  • Ubuntu/Centos下OpenJ9 POI输出Excel的Bug
    项目更换JDK为OpenJ9后,使用POI导出Excel遇到的问题OpenJ9版本信息/opt/jdk/jdk-11.0.17+8/bin/java-versionopenjdkversion"11.0.17"2022-10-18IBMSeme......