Repository navigation
A simple and straightforward solution/简单的新解决方案 #70
fairofdead
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
首先感谢po主,让我用dsh跳转到这里,发现这个问题并不是孤例,华硕笔记本用户普遍受其困扰。
我使用的是型号为FX507ZR(DDR5),也就是天选三,它的BIOS在23年末就停更了,所以po主最后的解决方案对于华硕的老用户是没用的,因为他们永远等不到BIOS更新了。
但我在这里可以为大家提供一种新的简单的思路——更改windows的电源计划
在电源计划——更改高级电源计划——硬盘——在此时间后关闭硬盘,把1or20或者其他数字直接改成9999。
机制大概是这样的:硬盘空闲 30 秒就掉电休眠 → 系统一有 I/O 立刻又要唤醒它 → 每次唤醒都要走 ACPI 电源状态切换 → 而 ASUS 固件里那段有缺陷的 ECLV()(含 Sleep(25~100ms)、还会自我重装)就在这条路径上 → 于是每两分多钟卡一次 41 毫秒。
把空闲时间拉到 9999 分钟,硬盘就基本不休眠了,那条有缺陷的代码路径不再被触发。
灵感来自b站相关视频和latencymon。
效果显著,不再出现该死的周期性播放卡顿问题。
First of all, thanks to the OP for letting me jump here via DSH. I found that this issue isn’t isolated—ASUS laptop users are commonly troubled by it.
I’m using the FX507ZR (DDR5), also known as the TUF Dash 3. Its BIOS hasn’t been updated since the end of 2023, so the final solution suggested by the OP doesn’t really help older ASUS users because they’ll never get a BIOS update.
But I can offer a new, simple approach here—changing Windows’ power plan.
Go to Power Plan → Change Advanced Power Settings → Hard Disk → Turn off hard disk after, and change the 1 or 20 or whatever number directly to 9999.
The idea is roughly like this: the hard drive goes to sleep after 30 seconds of idling → the system immediately has I/O and tries to wake it → each wake triggers an ACPI power state switch → and in ASUS firmware, that buggy ECLV() function (which includes Sleep(25~100ms) and even re-installs itself) is on this path → so every couple minutes you get a 41ms hitch.
By setting the idle time to 9999 minutes, the hard drive basically won’t sleep, and that buggy code path is no longer triggered.
The idea came from a related video on Bilibili and LatencyMon. The effect is significant—those damn periodic playback lags are gone.
All reactions