耳机俱乐部论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 18138|回复: 34

[pc-fi软件] 针对foobar2000卡顿的优化总结

[复制链接]

2

主题

26

帖子

0

积分

新手上路

Rank: 1

积分
0
注册时间
2019-1-27
发表于 2019-1-29 08:43:13 | 显示全部楼层 |阅读模式

感谢关注耳机俱乐部网站,注册后有更多权限。

您需要 登录 才可以下载或查看,没有账号?注册

x
本人电脑win10系统,foobar版本为1.4.1
实话说在前,win10的卡顿不算太多,但我有强迫症。。。
还有,我有听歌时用电脑做其他事的习惯,此种做法会导致出现一定的卡顿,才研究的这些方法
就由此贴分享给大家
此贴仅供参考,希望在你foobar2000卡顿时能够参照此贴找到一个改善思路
请大家阅读此贴子时注意我对应的说明,都是我自己在实际使用过程当中总结出来的,由于本人水平有限,可能解释的不是特别准确到位
紫罗兰op-sincerely.jpg

回复

使用道具 举报

2

主题

26

帖子

0

积分

新手上路

Rank: 1

积分
0
注册时间
2019-1-27
 楼主| 发表于 2019-1-29 08:47:56 | 显示全部楼层
第一类方法:调节foobar2000自身的设置
1.缓冲长度选项
在foobar的 参数选项-播放-输出 界面上有个缓冲长度的选项
缓冲长度.jpg
界面如图所示,单位为毫秒ms
当foobar卡顿时,可以通过适当拉高缓冲长度来提升流畅度
此项的作用是写入内存的缓冲时长,故拉高可在一定程度上解决卡顿
个人推荐500——1000ms
但请注意:
这个缓冲长度会影响听感,短缓冲下,声音解析度较高,但比较干燥,齿音较多.极端情况下,超出了声卡的能力范围,甚至会出现爆音和短暂的停顿;
高缓冲下,声音j较润,细节减少,但耐听.极端情况下,超出声卡缓存,会报错。
2.全文件缓冲选项
在foobar的 参数选项-高级-播放 界面上有一个全文件缓冲的选项
全文件缓冲.jpg
界面如图所示,这个选项的作用是设置播放时把源文件全部读入内存的最大文件大小

我设置的是1048600kb,也就是略大于1G(即为1048576kb)

请注意:在测试过程中发现foobar最大支持1G的全文件缓冲,在设置上写16G都没用,它最大还是缓存1G文件(一般的无损文件很少超过1G)

还试了试给foobar申请大内存,然并卵,最大就缓存1G

个人认为:全文件缓冲解决问题的概率较高,内存的读写速度远高于硬盘,哪怕是SSD,CPU直接从内存中读取文件,而不再是从硬盘一点点提取到内存,再由CPU读取

减少了中间过程,卡顿产生的几率也就更小。

如果你的电脑配置够好,推荐使用第二种方法,例如我电脑是16G内存,分1G听歌用总不过分吧(还不一定用满)

配置实在不行就用第一个方法,但影响听感。

回复 支持 反对

使用道具 举报

2

主题

26

帖子

0

积分

新手上路

Rank: 1

积分
0
注册时间
2019-1-27
 楼主| 发表于 2019-1-29 08:54:44 | 显示全部楼层
第二类方法:提升foobar的优先级,并使其CPU亲和力避开CPU0
实际使用中,如果你打开任务管理器会发现:CPU0的占用率明显高于CPU1234567......
CPU0使用率高.jpg
也就是传说中的“一核有难,n核围观”
一核有难,多核围观.jpg
究其原因,CPU0作为第一逻辑核心,什么任务都会优先找上他
windows系统自带的DPC(延迟过程调用),DPC会导致高优先级进程打断低优先级进程
一旦来了优先级更高的任务,那么foobar的任务就被搁置了,也就卡了一下。

解决此问题的方法就是使用软件 process lasso 调整
第一,调高优先级
优先级.jpg
第二,调整CPU亲和力(注:一定要避开CPU0)
CPU亲和力.jpg
第三,调整I/O优先级
IO优先级.jpg
第四,调整内存优先级
内存优先级.jpg
注:一定要在总是里更改
解释一下我们这么做的目的
foobar本来也不太吃资源,还总被打断,我们提升它这几个方面:
1.优先级:即进程优先级,设为高,防止被打断
2.CPU亲和力:选择使用率较低的CPU核心上运行foobar的进程
3.I/O优先级:即该进程的调用硬盘资源的优先级,设为高
4.内存优先级:进程调用内存的优先级

用个通俗的解释就是:让工人优先干foobar的小活,找比较闲的工人去干,仓库的钥匙给工人们,流水线也允许优先使用
这样达到了从系统层面上优化foobar

而DPC是底层系统的运行机制,相当于宪法,很难很难很难更改!!!

回复 支持 反对

使用道具 举报

4

主题

1146

帖子

24

积分

中级会员

Rank: 3Rank: 3Rank: 3

积分
24
注册时间
2012-5-9
发表于 2019-1-29 11:25:11 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

5

主题

280

帖子

5

积分

初级会员

Rank: 2Rank: 2

积分
5
注册时间
2010-6-1
发表于 2019-1-29 11:32:00 | 显示全部楼层
啊 看起来很管用的样子,感谢楼主分享!
K501/K701/K702-65th/SR125i/RS1e/T1-II
回复 支持 反对

使用道具 举报

32

主题

1227

帖子

33

积分

中级会员

Rank: 3Rank: 3Rank: 3

积分
33
注册时间
2017-1-30
发表于 2019-1-29 23:13:45 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

191

主题

2859

帖子

19

积分

中级会员

Rank: 3Rank: 3Rank: 3

积分
19
注册时间
2015-8-7
发表于 2019-1-30 01:32:48 来自手机 | 显示全部楼层
放屁,宪法哪里难改了!
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

积分

新手上路

Rank: 1

积分
0
注册时间
2018-12-13
发表于 2019-1-30 04:42:27 | 显示全部楼层
感谢楼主的分享!不过曾经听说,如果把音乐缓存在内存里,因为内存反复地被系统读写,会使音乐文件越来越不稳定?我也不懂......

点评

文件读取都是先读进内存,这是操作系统层面的工作,用户无法干预。  发表于 2019-1-30 17:50
内存也是种储存器,照他们这么说,硬盘还会文件不稳定呢? 你去跟他们说说,先了解下MD5编码再出来说话  发表于 2019-1-30 12:57
回复 支持 反对

使用道具 举报

178

主题

3653

帖子

69

积分

高级会员

Rank: 4Rank: 4Rank: 4Rank: 4

积分
69
注册时间
2008-7-26
发表于 2019-1-30 08:07:55 来自手机 | 显示全部楼层
很有用,我这一直修改cpu,其他占用率高的都把cpu1去掉,foobar独占,jplay就是默认只用cpu1

点评

好有耐心,我都没闲心这么弄。  发表于 2019-1-30 08:53
回复 支持 反对

使用道具 举报

143

主题

3995

帖子

40

积分

中级会员

Rank: 3Rank: 3Rank: 3

积分
40
注册时间
2011-5-26
发表于 2019-1-30 08:53:17 | 显示全部楼层
DXDXDX 发表于 2019-1-30 08:07
很有用,我这一直修改cpu,其他占用率高的都把cpu1去掉,foobar独占,jplay就是默认只用cpu1

我觉得最好的做法是关闭超线程(就是一个核心显示成两个看着很爽的那个技术)。然后制定特定核心给播放软件(肯定不是0)。roon除外~~~~~

点评

在有超线程技术的CPU上,cpu01为物理核心1,CPU23为物理核心2......以此类推,只要选择同一物理核心就没问题了。  发表于 2019-1-30 18:31
auralic g2全家桶nc1200后级piega coax511;puritan/神农/tpn/mps/aq线;d100和驸马的蓝光机(带线电输出)
回复 支持 反对

使用道具 举报

230

主题

1万

帖子

81

积分

高级会员

Rank: 4Rank: 4Rank: 4Rank: 4

积分
81
注册时间
2005-1-23
发表于 2019-1-30 16:51:48 | 显示全部楼层
第一个缓冲大小没听出区别来,直接拉到最大了。

点评

那个500-1000就行  发表于 2019-1-30 17:08
Linn, VAW/Graham Slee, Podium Sound
回复 支持 反对

使用道具 举报

516

主题

1万

帖子

481

积分

核心会员

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

积分
481
注册时间
2001-11-21

社区建设奖

发表于 2019-1-30 17:42:07 | 显示全部楼层
感觉foobar卡顿问题在现今的主流配置下几乎不会出现了,如果有更多的会是硬件驱动和兼容性问题。
PC HIFI的那些事情没有升级硬件无法解决的,很多莫名其妙的问题升级后就都没了,而且升级硬件比优化软件带来的提升要直接有效。
回复 支持 反对

使用道具 举报

516

主题

1万

帖子

481

积分

核心会员

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

积分
481
注册时间
2001-11-21

社区建设奖

发表于 2019-1-30 18:07:34 | 显示全部楼层
现在的操作系统如果出现一核有难七核围观的现象更可能是因为某个运行的软件没有多线程支持而却占用极大的cpu资源。结果就是不管你把这个“刺头”挪到哪个逻辑核心上仍然还是一核有难七核围观。楼主能不能放一个修改限制使用cpu核心后的cpu占用率截图.

点评

单开foobar不会卡,但开的一多就卡了  发表于 2019-1-30 18:24
我的思路是既然cpu0占用大,咱们就把他移到其他核心处理,我CPU是7700hq,4c8t,理论上不应该会卡,然而现实确实打脸。才这么搞的,效果我个人认为挺好的。foobar占用小,但优先级还是偏低。  发表于 2019-1-30 18:24
回复 支持 反对

使用道具 举报

178

主题

3653

帖子

69

积分

高级会员

Rank: 4Rank: 4Rank: 4Rank: 4

积分
69
注册时间
2008-7-26
发表于 2019-1-30 18:15:06 来自手机 | 显示全部楼层
iLLogiCo 发表于 2019-1-30 17:42
感觉foobar卡顿问题在现今的主流配置下几乎不会出现了,如果有更多的会是硬件驱动和兼容性问题。
PC HIFI ...

可能是驱动问题,但确实是foobar问题会比较明显,应该是foobar自己没做这方面的优化。roon这方面做的很好,基本不会有因为其他操作而引起音频卡断问题
回复 支持 反对

使用道具 举报

2

主题

26

帖子

0

积分

新手上路

Rank: 1

积分
0
注册时间
2019-1-27
 楼主| 发表于 2019-1-30 18:40:59 | 显示全部楼层
综合回复一下:
1.foobar其实优化还行,但我听歌走的ASIO通道,可能就有点问题了,音质最佳,相对易卡顿;再加上我有听歌干其他事情的习惯,就更容易卡。
2.其实走DS通道从来没卡过,但音质堪忧;wasipi通道感觉有音染,就怎么没用过。
3.我CPU是i7-7700hq 4c8t 默频2.8Ghz 睿频3.8Ghz,理论上不应该会卡的,但现实打脸。
4.foobar占用不大,把它提升优先级后再移到闲置核心单独处理,卡顿问题就不大了。再把那些大型软件关闭foobar所在核心,感觉会更好。
5.之所以这么干,是因为process lasso也只是个软件,能提升的优先级有限,所以还是要配合CPU亲和力、IO优先级、内存优先级的调整。

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

耳机俱乐部微信
耳机俱乐部微信

联系我们|有害信息举报:010-60152166 邮箱:zx@jd-bbs.com|手机版|Archiver|黑名单|中国耳机爱好者俱乐部 ( 京ICP备09075138号 )

GMT+8, 2024-11-14 13:24 , Processed in 0.119443 second(s), 47 queries , Gzip On.

快速回复 返回顶部 返回列表