Bug #114831

测试 Test-IT #111062: V3.0功能测试

测试 Test-IT #111066: AF-V3.0-系统裁剪-性能测试

【系统】【EVT2】【系统优化】运行游戏“原神”时卡顿严重

Added by CD Test赵飞 over 2 years ago. Updated over 2 years ago.

Status:CLOSEDStart date:2022-12-26
Priority:NormalDue date:2023-02-15
Assignee:CD Test赵飞% Done:

100%

Category:BSP
Target version:-
Need_Info:-- Found Version:FlatBuild_HH_VX1_MCE_FSE.M.D.user.01.00.X101.202212240330
Resolution:FIXED Degrated:--
Severity:Normal Verified Version:
Reproducibility:Every time Fixed Version:
Test Type:ST Root cause:

Description

【前提条件】
1、设备已开机
2、游戏“原神”已安装

【测试步骤】
1、打开游戏“原神”

【预期结果】
1、“原神”运行正常,流畅,无卡顿

【实际结果】
1、原神”运行时画面严重卡顿

【日志】
见附件

【内存占用】

figure:/ $ free -h
                total        used        free      shared     buffers
Mem:             7.5G        5.5G        1.9G        5.9M        5.4M
-/+ buffers/cache:           5.5G        1.9G
Swap:            4.0G           0        4.0G

tlog_xxx_1224024552.tar.gz (1.86 MB) CD Test赵飞, 2022-12-26 19:32

原神-top.jpg (123 KB) CD SYSTEM-胡兵, 2023-01-10 10:11

原神-systrace.jpg (577 KB) CD SYSTEM-胡兵, 2023-01-10 10:11

video&top&systrace.7z (15.6 MB) CD SYSTEM-胡兵, 2023-01-10 10:32

%e5%8e%9f%e7%a5%9e-top %e5%8e%9f%e7%a5%9e-systrace

History

#1 Updated by CD SYSTEM-胡兵 over 2 years ago

  • Assignee changed from CD BSP-唐金泽 to CD SYSTEM-胡兵

#2 Updated by CD SYSTEM-胡兵 over 2 years ago

Hi all

卡顿时,卡点应该在unity出图,从系统侧看,cpu负载ok,原神app与sf均30帧匀速出图,需要MM组进一步分析

Thanks

#3 Updated by CD SYSTEM-胡兵 over 2 years ago

  • File video&top&systrace.7z added
  • Status changed from New to ASSIGNED
  • Assignee changed from CD SYSTEM-胡兵 to CD MM陈海波

Hi 海波

如沟通,附件抓取了复现后的video&top&systrace,从现象看,app打开后过度动画出现卡PPT的现象(非常缓慢,一帧一帧的播放),但是从系统侧看,sf按照30帧的速度匀速出图,建议解析下对应的原始帧,进一步分析该问题。

Thanks.

#4 Updated by CD MM陈海波 over 2 years ago

针对这个问题, 可能未连接audio a2b相关.
元神游戏播放音效是通过ull模式自己实现一套机制.
采用ull模式的特点就是设置的buffer比较小, 同时不经过adsp就将buffer传给硬件, 以达到低延迟的效果.
由于这样的实现机制, 对cpu的要求比较高(目前audio bsp的进程cpu使用率达到了50%, 不是很正常).

现在卡顿的情况, 很大可能是因为副屏未连接上a2b线有关, 因为未连接上a2b,
那么这些buffer可能不能及时处理,导致流程堵塞,在av同步卡顿.

如果我们连接蓝牙进行游戏, 游戏就不会遇到这种卡顿的问题.

所以针对这个问题, 需要现在a2b的环境下进行调试.
如果a2b环境上,没有问题, 那么此问题个人觉得不需要处理. 因为最终环境就该是有a2b的环境.
如果a2b环境上还存在问题, 那么再针对此种情况进行分析(到时就需要看驱动代码的实现了).

#5 Updated by CDTS-TEST 周婷 over 2 years ago

  • Category changed from SYSTEM to AUDIO-FW

#6 Updated by CDTS-TEST 周婷 over 2 years ago

  • Category changed from AUDIO-FW to 依赖客户及其供应商解决
  • Target version deleted (VX1_MCE_FSE_C sample_20230113)

依赖A2B环境验证

#7 Updated by CD MM陈海波 over 2 years ago

这个问题在a2b的环境中进行验证, 确实和a2b相关.
具体的信息如下:
1. 在a2b环境进行播放, 如果游戏声音可以播放出, 有声音, 游戏画面顺畅.
2. 在a2b环境进行播放, 将a2b线拔掉, 画面恢复问题描述的现象.
3. 连接蓝牙耳机的情况下去玩游戏, 可以出声音, 画面顺畅.

从逻辑去分析, 视频播放会有一个A/V同步的过程.
如果Audio的数据被block, 在a/v同步校验音频数据的时间戳时就会配对不上视频的.
此时, 视频就会将视频帧给丢掉, 不进行显示, 于是就会看到持续不前的画面.
也就是目前问题描述的现象.

这个问题最根本的原因还是在于a2b环境未准备好的情况导致.
但目前这儿有个问题:

1. 当不连接蓝牙的情况下进行游戏, a2b环境下不能出声音.
2. 当连接蓝牙后, 在断开蓝牙, a2b环境下可以出声音.

这需要audio bsp的小伙伴帮忙分析和解决此问题.
如果此问题处理后, 那么票的问题将不复存在.

多谢!

#8 Updated by CD MM陈海波 over 2 years ago

  • Assignee changed from CD MM陈海波 to CD BSP-唐金泽

#9 Updated by CD MM陈海波 over 2 years ago

  • Category changed from 依赖客户及其供应商解决 to BSP

#10 Updated by CD MM陈海波 over 2 years ago

  • Assignee changed from CD BSP-唐金泽 to CD BSP何伟

#11 Updated by CD BSP何伟 over 2 years ago

  • Due date set to 2023-02-06

这个问题经过验证和a2b的关系不大,分析是底层AFE没有正确打开:

afe_callback: cmd = 0x100fa returned error = 0x2
afe_apr_send_pkt: DSP returned error[ADSP_EBADPARAM]
__afe_port_start: AFE enable for port 0xb000 failed -22
msm-dai-cdc-dma-dev soc: qcom,msm-dai-cdc-dma:qcom,msm-dai-wsa-cdc-dma-0-rx: fail to open AFE port 0xb000
msm-dai-cdc-dma-dev soc: qcom,msm-dai-cdc-dma:qcom,msm-dai-wsa-cdc-dma-0-rx: ASoC: cpu DAI prepare error: -22
soc_pcm_prepare: Issue stop stream for codec_dai due to op failure -22 = ret

考虑是设备树的配置有问题,还在验证中。

#12 Updated by CDTS-TEST 周婷 over 2 years ago

  • Due date changed from 2023-02-06 to 2023-02-08

#13 Updated by CD BSP何伟 over 2 years ago

  • % Done changed from 0 to 100

问题原因:
运行游戏时,Audio是使用的ULL模式,这个模式下不会经过DSP,问题的出现是因为音频后端打开错误;
默认情况下后端是使用的WSA,但在我们的设计中没有使用WSA,所以需要改为TDM;

解决方法:
修改mixer_paths.xml
1. adb push mixer_paths.xml /vendor/etc/
2. adb reboot

#14 Updated by CD BSP何伟 over 2 years ago

  • File mixer_paths.xml added

#15 Updated by CDTS-TEST 周婷 over 2 years ago

  • Due date changed from 2023-02-08 to 2023-02-15

#16 Updated by IoT scm over 2 years ago

Gerrit Merge Information
ID Project Branch Uploader
180505 general/platform/hardware/qcom/audio Pre_figure_turbox-c2130c-la1.1-vendor-dev
BSP: Audio: Fixed bug where the game would get stuck
Change ULL audio path from WSA_CDC_DMA_RX_0 to PRI_TDM_RX_0
TC-RID: 0301-0101101
IssueID: TS-R-DF-114831
Change-Id: Idb2fb3e5c64451814f645c27b5759c11c6dc6c78

#17 Updated by CD BSP何伟 over 2 years ago

  • File deleted (mixer_paths.xml)

#18 Updated by CD BSP何伟 over 2 years ago

  • Assignee changed from CD BSP何伟 to CD Test赵飞

Hi

这个问题已经提交并入库了,请使用今天(2.14)之后的版本测试

#19 Updated by CD BSP-杜磊 over 2 years ago

  • Status changed from ASSIGNED to RESOLVED
  • Resolution changed from -- to FIXED

#20 Updated by CD Test赵飞 over 2 years ago

  • Status changed from RESOLVED to VERIFIED

验证版本:FlatBuild_HH_VX1_MCE_FSE.M.D.user.01.00.X101.202302220011
验证结果:PASS
验证需要副屏连接中控,副屏声音从走中控AMP音源

#21 Updated by CD Test赵飞 over 2 years ago

  • Status changed from VERIFIED to CLOSED

Also available in: Atom PDF