【智能设备-点数据问题排查】
背景
在智能笔对接项目重构后,进入测试,发现了一些影响书写体验的问题。发现问题:第一个问题:连笔 ;第二个问题:笔画丢失
排查过程
自己排查
通过mq消息点到生成图片的点进行对比,这个对比过程不是一一比较的,点比较多,对比难度大,没有找到问题。另外呢,自己心里在代码改动影响上面比较坚决,评估不是代码问题。
马总指导
分析点数据类型
智能笔通过记录 “down(下笔)”、“move(移动)”、“up(抬笔)”、“fly(悬空移动)” 四种动作来实现书写功能
明确问题类型及可能原因
首先,明确智能笔记录书写动作的四种类型及其含义:
down:笔尖接触纸面瞬间,智能笔开始记录笔记。
move:笔尖在纸面滑动过程。
up:笔尖离开纸面,书写动作结束。
fly:笔尖未接触书写表面,但在空中移动(如书写前准备动作或手势操作)。
对于出现小横线丢失问题,初步分析可能的原因有:
点丢失:在记录书写轨迹时,某些关键坐标点未被记录。
乱序:记录的点顺序出现错乱,导致笔画绘制错误。
down 丢失:下笔动作未被正确识别和记录。
move 丢失:笔尖移动过程中的数据记录缺失。
遍历分析
对 “down - move - up” 的记录顺序进行遍历。通过列举不同的数字组合顺序,模拟可能出现的点记录情况,如 1 2 3分别代表dow、move、up,1 2 3(有序),以及 132、213、231、312、321 等(无序)情况。目的是在不同的点顺序排列中,找出可能导致笔画丢失问题的规律。
复现问题及思考解决方向
尝试复现问题,选择手写简单笔画字,并且控制笔画中的控制点数量。在复现过程中思考,当字体较小时,如何能更清楚地看到智能笔的书写笔画。
考虑到的方向有:
1.将点的坐标放大
使两点间距离增大,便于观察和分析;
2.是将画布进行缩写
在前端展示时等比例放大图片,从而更清晰地查看笔画细节。
总结
通过对智能笔书写小横线丢失问题的排查,梳理出了问题产生的可能原因,并尝试多种方法进行分析和复现。最后的问题原因是本地服务与测试服务共同消费点数据信息,出现了点丢失,点丢失带来的结果 ,看上去缺少笔画,另一个是丢失部分导致move没有up ,造成连笔。经过这次问题总结,明确了排查问题的方式。
遍历思想的作用:
全面性
能无遗漏地考虑所有可能情况。像在智能笔 “down - move - up” 动作组合遍历中,无论是有序的 1 2 3 ,还是 132、213 等各种无序排列,都一一列举 。这就确保不会忽略任何一种可能导致笔画丢失的点记录顺序情况,全面覆盖潜在问题来源,避免因考虑不周而遗漏关键因素。
系统性
将复杂问题拆解成一个个可分析的单元。把智能笔书写动作和点记录顺序看作不同单元,按顺序逐一分析。通过这种方式,能有条理地梳理各因素间关系,从看似杂乱的现象中找到规律,比如发现特定点序与笔画丢失间的联系,为后续解决问题提供清晰线索。
逻辑性
提供清晰逻辑路径。在排查智能笔问题时,依据遍历顺序进行推理分析。从正常顺序情况开始,再到各种异常顺序,逐步深入探究。这种逻辑性强的分析方式,不仅有助于快速定位问题,也方便向他人阐述排查思路和过程,便于团队协作解决问题。