两个问题:1.摄像机旋转卡顿;2.整个程序卡死;

0 投票
最新提问 5月 19, 2021 用户: powerpbk (160 分)
修改于 5月 20, 2021 用户:powerpbk
Easy版本:EasyARSenseUnityPlugin_4.2.0.1102

使用功能:MotionTrackerCameraDevice

测试手机:华为nova 3i

Demo功能:场景上放了些3D对象,使用AR功能拿手机走动观察

问题一:摄像机旋转卡顿

描述:原地不动时,那手机旋转观察周围3D对象,摄像机旋转会卡顿,中间有几秒钟摄像机旋转角度不会变化,然后突然变到新的角度,在一些时候会集中出现该情况。请问下该情况需要怎么处理或优化效果?

问题二:整个程序卡死

描述:程序运行一段时间后(10m-30m),程序帧率会在3-5秒内急速下降,画面会迅速突然卡顿死。测试排除Demo内存泄露问题,不是Demo程序代码问题。当前怀疑EasyAR问题,未能发现必能重现原因,请问下是否有遇到同样的问题,可能是什么原因导致的?需要怎么处理?

1个回答

0 投票
最新回答 5月 20, 2021 用户: easyarguxin (2,360 分)

你可以尝试切换到EasyARSenseUnityPlugin_4.3的某个版本,里面有修复一些bug。

另外4.3里有VIO模式,SLAM模式,Anchor模式,你可以切换测试一下。

VIO模式使用最少的 内存和计算量,节省资源。

SLAM模式包括建图,占用更多CPU和内存。

Anchor模式支持设置锚点,将虚拟物体锁定在某个地方,占用最多CPU和内存。

发表于 5月 28, 2021 用户: powerpbk (160 分)
EasyAR:EasyAR Sense Unity Plugin Version 4.3.0-1931.fb511f99
Scene:MotionTracking(未做任何修改)
Unity:2020.3.9f1c1
手机:华为 Nova 3i,荣耀 COL-AL10
重现方式:
1.Unity新建3D项目,导入EasyAR包,API选择Android7.1,开启真机性能测试,然后Build And Run;
2.运行后,随便放下小方块,就坐着左右晃下,多向下向上或快速晃动(摄像机图像怎么难识别怎么做),在性能界面性能开始异常增高后,就把手机摄像机朝下放着,很快就会卡死。如果没卡死,重复以上步骤,几分钟到最多10分钟就能重现。
另外,上午我说的ARSession.Update GC当前发现一直很频繁,我现不确定是否是该问题导致。当前我测试了两台手机,均按照以上方法能重新改问题。希望贵部能再次测试确认问题。
我们正使用EasyAR做项目,但遇到该问题影响很大,希望能尽快得到回复。
发表于 5月 28, 2021 用户: powerpbk (160 分)
我现在项目正常运行时发现有卡死卡顿现象,最开始并非是以上重现方式出现的,
我在分析和尝试重现问题时,找到以上重现方式可以快速重现问题,但实际正常运行过程中,也有出现卡顿卡死的情况。可见我最开始提问的描述。
发表于 6月 1, 2021 用户: powerpbk (160 分)
是不是与多线程渲染有关系-Multithreaded Rendering?
发表于 6月 4, 2021 用户: easyarguxin (2,360 分)

我们没有nova3i这台手机,我们使用nova3进行了测试,

4.2存在突然变到新的角度的问题,在4.3已经修复了。

4.3地图占用内存很大,退出时会导致画面卡顿。在4.4会修复该问题,减小地图大小。

运行中卡顿的现象未复现。但我们推测与内存占用、VIO重定位有关系。这部分会在4.4里有所优化。

发表于 6月 4, 2021 用户: powerpbk (160 分)
那相当于你们测试后还是没找到这个问题点。。。

我这边确实出现这个问题,并且用官方demo和多台手机均重现了,主要严重的情况是程序会卡死,这个问题很大。

如果需要的话可以来一个技术人员和我对接下:我可以重现该问题便于你们确定问题点。

如果可以的话,可以通过我账号的邮箱QQ号联系我,其他联系方式也行。

另外给两个优化方向建议:

1.ARsessIon.Update,这个函数通过性能检测,发现性能消耗很异常,希望重点关注下;

2.之前测试有个异常BUG,也注意下:

  2.1 首先再静止不动时,摄像头保存了一个画面特征数据a1,并绑定了摄像机坐标b1;

  2.2 在识别异常情况下,手机未动,摄像机会发生大幅度偏移,最后摄像机停在一个异常位置;

  2.3 在异常位置的摄像机,会保存另一个画面特征数据a2,并绑定了摄像机异常坐标b2;

  2.4 这时会出现,手机在同一位置,手机在同一画面,轻微晃动下,会在画面特征数据a1和a2来回识别,这是就会出现摄像机在b1和b2位置来回切换。
欢迎来到 EasyAR Q&A ,有什么不懂的可以尽管在这里提问,你将会收到社区其他成员的回答。
...