找回密码
 -注册-
查看: 44496|回复: 61
打印 上一主题 下一主题

foobar2000的优化——拒绝卡顿、破音与爆音

[复制链接]
跳转到指定楼层
1
发表于 2018-12-30 09:32 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式 来自 辽宁锦州
前言


本人大学在校学生党,过年21岁,在2018年的倒数第二天预祝各位烧友前辈们、大大们元旦快乐!!!


foobar2000是PCHIFI中常用的无损音乐播放器

foobar最大的特点是"自由度高",或者说"DIY程度高",也可以说"插件自由度高"

foobar的插件很丰富,功能能强大,自由度很高
这就导致了foobar的声音  变好也容易,变坏也容易
foobar最基础的设置在我的第一个帖子中具体写明了


在校学生党初试HIFI桌面组合——QI+1770PRO


(12L、51L的foobar设置部分已置顶)——虽说是QI的设置过程,但还是有些参考价值的

本贴以foobar2000为基础,谈一谈其优化音质方法,减少卡顿、爆音、破音的发生。

2
发表于 2018-12-30 09:35 来自手机 | 只看该作者 来自 天津
占座学习学习 我的福巴2k最近经常爆音
回复

使用道具 举报

3
发表于 2018-12-30 09:39 | 只看该作者 来自 河北邯郸
占个位置看看
回复

使用道具 举报

4
发表于 2018-12-30 09:43 | 只看该作者 来自 北京海淀
占座看看
回复

使用道具 举报

5
 楼主| 发表于 2018-12-30 09:57 | 只看该作者 来自 辽宁锦州
第一个方法——foobar设置来解决问题
1.在foobar的 参数选项-播放-输出 界面上有个缓冲长度的选项

界面如图所示,这个的单位是ms(1s=1000ms),可以拉高这个来提升流畅度。
这个缓冲长度会影响听感,短缓冲下,声音解析度较高,但比较干燥,齿音较多.极端情况下,超出了声卡的能力范围,甚至会出现爆音和短暂的停顿;高缓冲下,声音叫润,细节减少,但耐听.极端情况下,超出声卡缓存,会报错。
一般设定在500——1000(本人设置的是500),如果还是卡的话可以拉得更高,但不建议太高,10000就差不多了,缓冲10s咋地也够用了。

2.在foobar的 参数选项-高级-播放 界面上有一个全文件缓冲的选项

界面如图所示,这个选项的作用是设置播放时把源文件全部读入内存的最大文件大小
我设置的是1048600kb,也就是略大于1G(即为1048576kb)
在测试过程中发现foobar最大支持1G的全文件缓冲,在设置上写16G都没用,它最大还是缓存1G文件(一般的无损文件很少超过1G)
还试了试给foobar申请大内存,然并卵,最大就缓存1G
这个设置其实更好,内存的读写速度远高于硬盘,哪怕是SSD,CPU直接从内存中读取文件,而不再是从硬盘一点点提取到内存,再由CPU读取
减少了中间过程,卡顿产生的几率也就更小。


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




回复

使用道具 举报

6
 楼主| 发表于 2018-12-30 10:02 | 只看该作者 来自 辽宁锦州
如果你试过了5L所述的方法还不奏效的话,我还有第二种方法。
回复

使用道具 举报

7
发表于 2018-12-30 10:06 | 只看该作者 来自 吉林四平
私以为爆音是USB的问题,foobar作为PC端的播放软件,自己缓冲的再长,也要按照时序一点一点的通过USB发送给解码,而USB这边出现问题的话,foobar的缓冲是解决不了问题的。
回复

使用道具 举报

8
 楼主| 发表于 2018-12-30 10:15 | 只看该作者 来自 辽宁锦州
第二种方法——分配处理foobar所用的CPU核心
背景介绍
我的电脑CPU型号为i7-7700HQ,4C/8T,也就是四核心八线程的CPU。
在使用过程中发现即便是把前楼所述的都设定好了,偶尔也会卡顿。
后来打开了任务管理器,看了眼CPU使用率,真是不看不知道一看吓一跳啊!

CPU0使用率明(yuan)显(yuan)高于cpu1234567,这不就是传说中的一核有难,七核围观么!!!

什么脏活累活都找CPU0干,这样的结果是一旦你打开了进程优先级高于foobar的程序,CPU0这位吃苦耐劳的老大哥,就会放下手中的活,去处理一下那个进程优先级更高的程序
然后,foobar的活就被扔下了,耳机传来“boom”的一声,就爆音了。

回复

使用道具 举报

9
 楼主| 发表于 2018-12-30 10:27 | 只看该作者 来自 辽宁锦州
第二种方法——分配处理foobar所用的CPU核心

解决方法:

任务管理器-详细信息-foobar2000.exe-右键-设置相关性



打开后是这样的,那么我们参照自己电脑CPU占用率选择闲置的核心来处理foobar






经过测试
我选择了CPU4567来处理foobar,防止其他应用程序的优先级的原因占用CPU0干扰到foobar的工作。


回复

使用道具 举报

10
发表于 2018-12-30 10:46 | 只看该作者 来自 北京海淀
楼主纯技术贴,流泪支持啊,我的福爸也爆音,正在找调音的方法。
回复

使用道具 举报

11
发表于 2018-12-30 10:46 | 只看该作者 来自 广东广州
用了那么久,fb没有卡顿爆音的问题啊~
回复

使用道具 举报

12
 楼主| 发表于 2018-12-30 11:09 | 只看该作者 来自 辽宁锦州
SpinningSTAR 发表于 2018-12-30 10:27
第二种方法——分配处理foobar所用的CPU核心
解决方法:
任务管理器-详细信息-f ...

这一楼仅仅是展示了一下原理,如果程序重启或foobar重启了,这个设置也就没了。
解决方法在此,下载软件——    Process Lasso   

在这个界面上找到foobar2000.exe
右键-CPU亲和力-CPU亲和力-总是-选择CPU亲和力
勾选即可


顺便,再把foobar的优先级与I/O优先级调高,方法类似
这样设置是保证foobar不被其他程序干扰的最优解。


回复

使用道具 举报

13
 楼主| 发表于 2018-12-30 11:40 | 只看该作者 来自 辽宁锦州
先发这些,如果再有改动及更好的方法的话我再更,欢迎提问及补充。
回复

使用道具 举报

14
发表于 2018-12-30 11:56 | 只看该作者 来自 湖南长沙
来学习了!
回复

使用道具 举报

15
发表于 2018-12-30 11:57 | 只看该作者 来自 天津
支持楼主!
关闭杀毒防火墙,关闭节能和不用的软件等也是有帮助的
回复

使用道具 举报

16
发表于 2018-12-30 12:18 | 只看该作者 来自 重庆渝中区
支持楼主!
回复

使用道具 举报

17
发表于 2018-12-30 15:06 | 只看该作者 来自 广东汕头
卡顿破音爆音的根源,DPC延迟了解一下
回复

使用道具 举报

18
发表于 2018-12-30 15:14 | 只看该作者 来自 上海闵行区
技术贴,支持!
回复

使用道具 举报

19
 楼主| 发表于 2018-12-30 15:27 | 只看该作者 来自 辽宁锦州
lzxp 发表于 2018-12-30 15:06
卡顿破音爆音的根源,DPC延迟了解一下

长知识了,谢谢您。
查了些资料,DPC(延迟过程调用)大概意思是高优先级进程会打断比之低的进程优先处理
虽然我之前不了解DPC,但我的思路却与之契合了
提高foobar的进程优先级与I/O优先级等并使用使用率低(不怎么忙)的CPU4567去处理
这样进程被中断并搁置的概率就减少了很多很多
回复

使用道具 举报

20
发表于 2018-12-30 15:34 | 只看该作者 来自 广东汕头
SpinningSTAR 发表于 2018-12-30 15:27
长知识了,谢谢您。
查了些资料,DPC(延迟过程调用)大概意思是高优先级进程会打断比之低的进程优先处 ...

DPC是系统层面的,也是卡顿的罪魁祸首
软件设置可以避开卡顿,但也是治标不治本

软件设置思路是对的,但问题根源先去解决了的话,再去优化软件,效果能更上一层楼
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|粤icp备09046054号|耳机网-耳机大家坛

粤公网安备 44030602000598号 耳机大家坛、www.erji.net、网站LOGO图形均为注册商标

GMT+8, 2024-11-27 17:18

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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