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

Roon索引数据的内存化实现笔记

[复制链接]
跳转到指定楼层
1
发表于 2022-10-15 21:29 | 只看该作者 回帖奖励 |正序浏览 |阅读模式 来自 北京
本帖最后由 中关村东路 于 2022-10-15 23:11 编辑

目录

1. 背景
2. 思路
2.1 Roon的数据
2.2 实现思路和所需内核模块介绍
3. overlay+tmpfs/zram实现
3.1 overlay+tmpfs实现
3.2 overlay+tmpfs实现解释(可选)
3.3 overlay+zram实现思路(可选)
4. 纯tmpfs/zram实现思路(可选)
5. 小结

本帖的想法很简单,直接读写SSD尽管比机械硬盘快,但延迟还是比内存差得多,尤其是很多同学的无扇Roon Core性能还是在一定程度上受限的,用本帖的方法能让你更容易在性能和发热之间找到平衡。说实话,本帖代码只写了不到半小时,但写这个帖子真花了我好长时间,确实不太容易讲清楚,如果对你有所帮助,或者遇到什么问题,可以回帖表示支持。

本文为“中关村东路”原创,在erji.net首发,未经作者允许请勿转载。欢迎各司免费使用。


来自 19楼
 楼主| 发表于 2022-10-15 23:09 | 只看该作者 来自 北京
刚刚重启了一下系统,跑了一整天一切顺利,再次确认数据也都同步进来了。
补一张图吧,内存24G,绿色部分57%是Roon Core占用的,紫色部分是overlay的占用,黄色部分是缓存占用。Linux和windows内存使用机制不同,会尽量缓存用起来,可以看到swap占用是0k,说明内存实际上远没用尽。



回复

使用道具 举报

54
发表于 2023-3-14 20:43 | 只看该作者 来自 湖北武汉
谢谢大侠!
回复

使用道具 举报

53
 楼主| 发表于 2023-3-14 14:43 | 只看该作者 来自 北京
deme 发表于 2023-3-12 18:58
大侠,可以解决这个问题么,谢谢!

可以啊,别用hqos,用正常的Linux发行版,或者想办法给hqos换个内核。后者可能比较麻烦
回复

使用道具 举报

52
发表于 2023-3-12 18:58 | 只看该作者 来自 湖北武汉
中关村东路 发表于 2023-3-12 13:58
报错的意思是你用的内核没编译overlayfs模块,不能用

大侠,可以解决这个问题么,谢谢!
回复

使用道具 举报

51
 楼主| 发表于 2023-3-12 13:58 | 只看该作者 来自 北京
deme 发表于 2023-3-12 01:30
mount -t overlay -o rw,lowerdir=/opt/roon/7a15dc772fd5456baf78004300aa237c/broker_2.db,upperdir=/op ...

报错的意思是你用的内核没编译overlayfs模块,不能用
回复

使用道具 举报

50
发表于 2023-3-12 01:30 | 只看该作者 来自 湖北武汉
本帖最后由 deme 于 2023-3-12 01:31 编辑

mount -t overlay -o rw,lowerdir=/opt/roon/7a15dc772fd5456baf78004300aa237c/broker_2.db,upperdir=/opt/roon/tmpfs/upper,workdir=/opt/roon/tmpfs/work overlay /var/roon/RoonServer/Database/Core/7a15dc772fd5456baf78004300aa237c/broker_2.db
报错: mount: /var/roon/RoonServer/Database/Core/7a15dc772fd5456baf78004300aa237c/broker_2.db: unknown filesystem type 'overlay'.
HQOS,请问怎么解决,谢谢!
回复

使用道具 举报

49
发表于 2022-10-19 17:32 | 只看该作者 来自 上海
中关村东路 发表于 2022-10-19 15:45
你可以搜我的帖子,从来不讲听感。。延迟测试数据也从来不放。每个人听的音乐不一样,偏好不一样,设备、 ...

甘蔗地长的土豆吧。
不过也有土豆地里长甘蔗的。

在别处看的一帖,10/9我就提出神叨叨的不会是卖量子物件的吧,帖主不承认,还让我接收他的巨量信息,今天(10/19)果然,是卖神油的。

回复

使用道具 举报

48
 楼主| 发表于 2022-10-19 15:45 | 只看该作者 来自 北京
leonbernieni 发表于 2022-10-19 15:02
你这种表达也对,省去了漫无边际的吹嘘和争执。毕竟每个人的emerge --info都不一样。

你可以搜我的帖子,从来不讲听感。。延迟测试数据也从来不放。每个人听的音乐不一样,偏好不一样,设备、硬件也不一样,比了没意义。
回复

使用道具 举报

47
发表于 2022-10-19 15:02 | 只看该作者 来自 上海
中关村东路 发表于 2022-10-19 14:52
我就是听个响,没追求极致。用hq就是因为44.1/16不能直接nos,升了就省得滤波了

你这种表达也对,省去了漫无边际的吹嘘和争执。毕竟每个人的emerge --info都不一样。

回复

使用道具 举报

46
 楼主| 发表于 2022-10-19 14:52 | 只看该作者 来自 荷兰
leonbernieni 发表于 2022-10-19 14:04
高采样率的dsd其实声音上的收益并不大,反而对时钟的精确度索求更苛刻,而且PDM信号在逻辑器件上的变形更 ...

我就是听个响,没追求极致。用hq就是因为44.1/16不能直接nos,升了就省得滤波了
回复

使用道具 举报

45
发表于 2022-10-19 14:04 来自手机 | 只看该作者 来自 上海
中关村东路 发表于 2022-10-19 13:04
我平时也是用的pcm整数升频,dsd直接播。高码率dsd时候风扇会响,不太能接受。

高采样率的dsd其实声音上的收益并不大,反而对时钟的精确度索求更苛刻,而且PDM信号在逻辑器件上的变形更厉害,DAC芯片的做法是把信号占空比加宽去迁就预估的变形。我也是摸索了好久才放下了追求极高采样率的执念,DSD直出滤波不做数字处理是最纯净的。
回复

使用道具 举报

44
 楼主| 发表于 2022-10-19 13:04 | 只看该作者 来自 北京
阳光游子 发表于 2022-10-19 09:52
是的,只支持128,而且我的解码器也只能支持128,最高384/32,而且PCM升DSD基本没法用,太卡,我一般是PC ...

我平时也是用的pcm整数升频,dsd直接播。高码率dsd时候风扇会响,不太能接受。
回复

使用道具 举报

43
发表于 2022-10-19 09:52 | 只看该作者 来自 中国
中关村东路 发表于 2022-10-18 14:11
linq似乎只能升到DSD128,是不是和这个也有关系。我升频是PCM1536/DSD512

是的,只支持128,而且我的解码器也只能支持128,最高384/32,而且PCM升DSD基本没法用,太卡,我一般是PCM升PCM,DSD我干脆就不做升频了。好处是PCM升频会自动做整数倍处理。目前我考虑把linq和scala全出了换formula,新款V2可以支持DSD512。
回复

使用道具 举报

42
 楼主| 发表于 2022-10-18 15:09 | 只看该作者 来自 北京
a353080017 发表于 2022-10-18 13:05
2.0可以,通过端口转发的方式,手机也要安装相应的app。前提是光猫要改桥接,避免光猫和路由器多层nat, ...

这个其实问题不大。之前官方不支持时候,用zerotier也可以正常使用
回复

使用道具 举报

41
发表于 2022-10-18 15:02 | 只看该作者 来自 北京
a353080017 发表于 2022-10-18 13:05
2.0可以,通过端口转发的方式,手机也要安装相应的app。前提是光猫要改桥接,避免光猫和路由器多层nat, ...

光猫桥接倒是早就改过了 一直是路由器拨号  不过不知道访问速度如何  播放机制是预加载还是说实时读取
怕是那种实时读取的最后搞得很卡  其实一首歌无非二三十兆 完全可以预载
回复

使用道具 举报

40
 楼主| 发表于 2022-10-18 14:11 | 只看该作者 来自 北京
阳光游子 发表于 2022-10-17 17:41
其实hqp也是有好有坏,我用的linq应该算不错的了,我是和la scala mk3配套用的,升频后对动态还是有损失 ...

linq似乎只能升到DSD128,是不是和这个也有关系。我升频是PCM1536/DSD512
回复

使用道具 举报

39
发表于 2022-10-18 13:05 | 只看该作者 来自 浙江杭州
jackylzf 发表于 2022-10-15 21:38
能不能给介绍 一下ROON的实用性  我总听说这个东西  但是一直没研究过

有了它是否可以在广域网访问家里 ...

2.0可以,通过端口转发的方式,手机也要安装相应的app。前提是光猫要改桥接,避免光猫和路由器多层nat,最好还是先试用,毕竟每个人的网络环境不同
回复

使用道具 举报

38
发表于 2022-10-17 17:41 | 只看该作者 来自 中国
本帖最后由 阳光游子 于 2022-10-17 17:44 编辑
中关村东路 发表于 2022-10-17 13:20
Roon这点确实麻烦,好多机器,对音质有追求的往往再hqplayer,更多了

其实hqp也是有好有坏,我用的linq应该算不错的了,我是和la scala mk3配套用的,升频后对动态还是有损失,相应的提升了纯净度、声音的密度、细腻度等等,最近linq有点问题返厂了,用回USB直出,感觉也很不错,各有所长。
另外你说的那个diretta,好像又是个新玩意,我手头还有个树莓派4B貌似可以装,有空试试
回复

使用道具 举报

37
 楼主| 发表于 2022-10-17 13:22 来自手机 | 只看该作者 来自 北京
阳光游子 发表于 2022-10-17 12:50
如果是这样的话,那确实还是需要一个桥设备

还有人在最后串一个diretta设备出声的……
回复

使用道具 举报

36
 楼主| 发表于 2022-10-17 13:20 来自手机 | 只看该作者 来自 北京
阳光游子 发表于 2022-10-17 12:50
如果是这样的话,那确实还是需要一个桥设备

Roon这点确实麻烦,好多机器,对音质有追求的往往再hqplayer,更多了
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-4-29 00:08

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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