AMZ
2024-05-26 07:59 deepin
附议
Reply Like 1 View the author
附议
确实该优化了
猫王就是屌,前有内核安装器文件系统今有配置文件
这个优化的确很实在,延时刷新可以减缓一下IO压力
有没有可能gnome是先响应用户操作,完事之后再记录或者直接是不同线程。
而deepin我怀疑就一个线程,还是先记录再响应操作,操作的时候就会先卡一下完了再响应用户的具体操作,我一直发现跟手性不强,没准就因为这。
转给研发部门评估。
我们内部在推进所有配置项用 DConfig 来实现,这样就可以统一控制了。不过有一些历史遗留的原因,短时间内可能无法做到,但长期看这是我们的目标。
我们内部在推进所有配置项用 DConfig 来实现,这样就可以统一控制了。不过有一些历史遗留的原因,短时间内可能无法做到,但长期看这是我们的目标。
对,就是历史遗留的,这个从15好像就有的,以前功能还没那么多,写入量可能小点,影响不大。
到现在影响就逐渐增大了,希望优化下,减轻负担。
Popular Events
More
众所周知,dde还是比较吃硬盘io的,如果是机械硬盘,那体验还是很难受的。
一个比较重要的原因就是deepin的配置是实时记录的,我们只要动了设置,不管是否配置文件需要更改,都会刷写配置文件。
而这些配置文件都是很小的文件,特别吃4k读写,再叠加安装器分区时候不做4k对齐的bug,有些人装完系统后体验上卡的离谱。
尤其是我们现在还在大力推玲珑,那对磁盘IO要求更高了,别说机械盘了,比较差的sata都吃不动,希望官方对配置的应用时机,再斟酌下做一些优化,提升deepin的体验。
下面是我目前看到的一些可以优化的机制:
一、配置是否有变化
这是桌面的配置,只要你在控制中心点显示里面的屏幕,随便动两下,他就刷写一下,实际上我观察这个文件刷写前后并没有任何区别。
可以在写入磁盘之前做个判断,看配置是否有变化,有变化才写入磁盘,没变化就不写了。
二、窗口发生变化时记录配置文件
我们的dde很好用对吧,但他所有的窗口大小记录是实时的,只要你拖拽窗口下面的配置文件就会写一遍,甚至最大化和窗口切换也会刷写一遍然后没有任何变化。
打开程序的时候在内存中,反正没关闭,实时记录窗口大小也就只能防止程序非正常结束,但是程序都非正常结束了,记录的配置有没有可能也是有问题的?所以也没意义。
qt可以设置点关闭的时候做啥事,用户点了关闭就把配置记录一下,能大幅减少配置文件的刷写,省出来一些磁盘的IO。
三、用deepin-editor打开deepin-editor的配置文件
用deepin-editor打开deepin-editor的那一瞬间就提醒重新载入了,说明程序启动时候就实时刷写了,能否跟vscode的机制一样,改为文件有修改后延时保存或者延时刷写?
可以看到,vscode提供的保存机制如果用到配置文件的刷写上还是蛮舒服的,易用性不会下降,但性能明显会有提升。
其实我们的配置文件都可以用这种延时或者关闭时候刷写的机制,而不是用户一操作立马就刷写。
本身用户操作的时候cpu、磁盘IO占用就比较高,同时再刷写配置文件,那不就是病上加病。
四、KDE和XFCE的逻辑
这两个桌面肯定同学们很多都用过,有个很有意思的就是我们设置完得点应用才记录配置文件,所以我们平时在点这两个桌面的时候感觉很轻,很舒服。
而我们在dde上操作的时候,都要刷写下配置文件,用户的小操作,比如没事点点点,拖拽窗口等等不良习惯很普遍,这样子4K读写那就很容易吃满,然后大家就开始骂dde了。
综上所述,还是希望官方优化下有关逻辑,磁盘性能不好的装了deepin的体验真的还是比较难受的。