页次: 1
最近把笔记本从11代处理器升级到ultra的,玩游戏时发现同样的游戏在旧电脑上运行正常的,在新电脑上却会出现部分场景音频卡顿的问题。一个典型的情况是《绝区零》中的斯科特哨站场景,该场景下bgm存在严重的杂音和卡顿。经过切换wine版本之后无法解决,最后发现通过gamemode的pin cores功能将游戏进程绑定在2个大核上之后可以极大地缓解问题,因此猜测问题可能与大小核调度有关。但是这样做会导致大核占用极高(接近100%),而且问题也只能缓解,仍然存在一定的卡顿。请问有更好的解决方法吗?
系统用的音频架构是pipewire。
离线
请给出具体的 CPU 型号。
离线
请给出具体的 CPU 型号。
处理器型号为 Intel® Core™ Ultra 5 125U × 14
离线
两大两小十中核啊。如果你能识别到线程的话,可以把音频线程放大核上跑。否则试试 pin 到大和中上?另外可以考虑给音频线程实时优先级(如果你能识别出它们的话)。Wine 的音频好像没有用 rtkit。
离线
两大两小十中核啊。如果你能识别到线程的话,可以把音频线程放大核上跑。否则试试 pin 到大和中上?另外可以考虑给音频线程实时优先级(如果你能识别出它们的话)。Wine 的音频好像没有用 rtkit。
我没找到将音频线程单独放到大核上跑的方法,我甚至没找到wine对应的音频线程
pin到大和中上会导致音频问题恶化,尽管确实能降低单个cpu的占用(降低至70%左右)
我尝试了将所有游戏相关进程的nice值设定为-15,或者根据https://wiki.winehq.org/Wine-Staging_En … priorities的说明将wineserver设置为实时优先级90(设置base的环境变量会导致游戏崩溃),经过chrt命令确认设置可以生效,但是对音频问题的帮助不大。
离线
不要全部实时啊,那没有用的……
找不到那没办法。我这里 Wine 打游戏音频也偶尔会跳一点点。
离线
我今天无意中发现这东西其实是power-profiles-daemon的锅。如果将power-profiles-daemon设置为性能模式,则不会有音频卡顿的问题,甚至能大幅增强核显性能。但是使用powerprofilesctl launch来以性能模式启动应用会引入其它的bug(音频在一段时间后消失),要通过powerprofilesctl set performance来设置方案才行。
我之前还以为power-profiles-daemon和gamemode涉及到的范围应该差不多,开了gamemode那power-profiles-daemon开平衡应该也不会有什么影响。现在看来并非如此。
离线
Gnome下可以直接在电源菜单下设置成怪兽模式
i am a noob
离线
音频莫名消失的bug,似乎与power-profiles-daemon无关。该错误的pipewire日志显示:spa.alsa: hw:sofhdadspp: (0 suppressed) snd_pcm_avail after recover: 断开的管道
将wine的音频驱动调整为alsa似乎有助于解决这个问题。
离线
最近又遇到这个问题。我感觉可能不是某个软件或者优先级之类的问题,而是单核性能有关。目前我发现的:
1. 提升cpu性能可以改善该问题。我之前提到过power-profiles-daemon的性能模式有助于改善该问题,后来发现其实与功耗墙有关。部分平台的功耗墙可以受到platform_profile的控制,比如我的笔记本在平衡模式下PL2为15W,在性能模式下则为23W。在提升了功耗墙之后,问题就有了明显改善。gamemode只会调整cpu调速器,这对性能提升帮助有限。也可以尝试使用这个脚本:https://github.com/horshack-dpreview/setPL来调整功耗墙。另外,核显也受到CPU功耗墙的影响,因此提高功耗墙对提高核显性能也有很大帮助。
2. 绑定进程到大核,也可以改善该问题。绑定到中核效果就差些。
3. 降低游戏画质可能有助于解决该问题。在绝区零中,1080P全低画质下情况比起4K中高画质就有所改善。
离线
页次: 1