IOS平台开发和关闭麦克风会卡顿

同样代码只有IOS 会掉帧,从满帧60帧,按住开启麦克风就会掉帧到30帧以下,关闭麦克也会掉帧。

把把红色框中代码注释掉,没有明显掉帧了。

掉帧 从很大概率,降低了小概率,也不是完全不掉帧。

项目接入了WWise;麦克风的开关语音使用的是GME 的接口。

使用insigh 抓取数据,发现GameThread 有一段就没有数据,分析是FAppEntry::Tick();

之前就卡主了,没有调到所以没数据。

用AI分析

20260806-224859.png

请大佬帮忙看下 是否有其他更好的处理方法。

[Attachment Removed]

Hi,

你好,请问掉帧是一帧的卡顿,还是指开启关闭麦克风后,帧率始终变成30帧了?

[Attachment Removed]

不是卡一帧,是卡一小段时间,从上图的insight 中可以看到没有任何GameThread 数据,直接黑块了。

后面还会正常到满帧

[Attachment Removed]

Hi,

抱歉回复的晚了,我看了一下代码,这里有几处设备信息的访问是在主线程做的,有可能造成你看到的卡顿,比如读取OtherAudioPlaying和OutputVolume。我尝试让AI做了一些改动,首先可以通过Notification来获得这两者的变化,另外也处理了在应用进入后台后收不到通知,等进入前台后重新在异步线程更新设备信息的功能。你可以先合入一下测试一下是否有效。

[Attachment Removed]