Deepin与Xfce高分屏实现方法比较,Xfce的更好
Tofloor
poster avatar
bsidb
deepin
2018-06-11 15:55
Author
目前Deepin系统的高分屏设置是通过设置屏幕缩放因子实现的,而且配合设置QT_SCALE_FACTOR来让第三方程序也同样缩放。

但是Deepin目前的做法有两个弊端:
1. 实际上是调小了屏幕分辨率(见https://bbs.deepin.org/post/149374,1920*1080的屏幕经过缩放1.25,有效分辨率只有1536*864)。
2. 在Qt版本5.9.2之前,如果屏幕缩放因子不是整数而是小数,会使得程序的显示界面出现锯齿模糊(见https://bbs.deepin.org/post/149096,VirtualBox经过高分屏缩放界面完全模糊无法使用)。

近日试用了Xfce桌面,发现它实现高分屏走的是一种不同的技术路径,而该技术路径比Deepin采用的方法更成熟、效果更好。Xfce桌面并没有采用屏幕缩放因子的方式,而是采用设置屏幕的DPI(Dots Per Inch,每英寸点数)方式。它通过设置X windows的Xft.dpi变量,告诉X windows采用合适的DPI绘制程序界面。DPI越高,就相当于Deepin下的屏幕缩放因子越大。

这样做有如下几点好处:
1. 技术成熟、已有众多程序都支持。经过实测常用程序,他们都会遵循Xft.dpi的设置要求,采用恰当的分辨率进行显示。而且Qt 5.9.2版本之前的程序也可以正常的在高分屏上显示(例如VirtualBox),WPS也没有问题能正常高分屏显示。深度自家的程序也都支持。
2. 有效分辨率没有损失。1920*1080的屏幕经过DPI设置依然是1920*1080的屏幕。

2. DPI设置允许用户更容易的选择合适的数值。DPI是屏幕本身的参数之一,只要查阅屏幕的硬件参数,就能计算出正确的DPI值。正确的DPI值可以使屏幕显示和实际物理尺寸契合。(例如:在WPS里设置100%显示,那屏幕上的5号字的大小,在实际打印出的5号字大小。)
3. DPI设置允许用户可调范围更大。现在Deepin的缩放只有固定的几档,而DPI可以在96到更大的范围调节。


不知道当初为什么Deepin不采用这种更成熟的方案?



Reply Favorite View the author
All Replies
emofode
deepin
2018-06-11 16:35
#1
设置 x window 的 dpi 是把画面有损放大了,你还不如 win + =直接开启放大镜
Reply View the author
133******01
deepin
2018-06-11 16:41
#2
https://bbs.deepin.org/post/157977
设置 x window 的 dpi 是把画面有损放大了,你还不如 win + =直接开启放大镜

还有这操作  ,还好我机 智  用win+- 还原了
Reply View the author
bsidb
deepin
2018-06-11 17:29
#3
本帖最后由 bsidb 于 2018-6-11 12:23 编辑
https://bbs.deepin.org/post/157977
设置 x window 的 dpi 是把画面有损放大了,你还不如 win + =直接开启放大镜

并不是放大镜那种采用像素插值方式实现的放大功能。放大镜那种有损放大会出现字体边缘模糊的情况。Xft.dpi放大机制显示的字体和程序UI的边界是锐利清晰的。具体简单装一个Xfce桌面看一下就知道。
我在1080p屏幕下用了两天Xfce,并不是放大镜那种辣眼睛的效果,要是那个效果早就放弃了。反倒是Deepin下面的WPS在高分屏下面辣眼睛,而日常办公离不开WPS。。。

摘自Arch wiki中HiDPI部分:
"This(Setting Xft.dpi) will make the font render properly in most toolkits and applications, it will however not affect things such as icon size! "

Deepin下截图



Xfce下


Reply View the author
emofode
deepin
2018-06-11 18:44
#4
https://bbs.deepin.org/post/157977
并不是放大镜那种采用像素插值方式实现的放大功能。放大镜那种有损放大会出现字体边缘模糊的情况。Xft.dp ...

嗯,字体是会比放大镜好,但是图片在 deepin 下也是放大的,这是未来趋势
Reply View the author
bsidb
deepin
2018-06-12 06:58
#5
https://bbs.deepin.org/post/157977
嗯,字体是会比放大镜好,但是图片在 deepin 下也是放大的,这是未来趋势

希望Qt、GTK等基础软件库对高分屏的实现完善起来,其他第三方软件也快些适配。
Reply View the author
bsidb
deepin
2018-06-12 07:00
#6
https://bbs.deepin.org/post/157977
嗯,字体是会比放大镜好,但是图片在 deepin 下也是放大的,这是未来趋势

Deepin有计划将系统的Qt库的版本升级到5.9.2或更新的版本不?
一些使用Qt Webview的程序(例如Master PDF Editor),在QT SCALE FACTOR不为整数的时候,会出现缩放呈锯齿状。在最新的Qt5.9.2里修复了这个bug。
Reply View the author
iminto
deepin
2018-06-12 07:47
#7
https://bbs.deepin.org/post/157977
Deepin有计划将系统的Qt库的版本升级到5.9.2或更新的版本不?
一些使用Qt Webview的程序(例如Master PDF ...

不大可能升级了,哈哈
Reply View the author
wtz
deepin
2018-06-12 11:25
#8
https://bbs.deepin.org/post/157977
Deepin有计划将系统的Qt库的版本升级到5.9.2或更新的版本不?
一些使用Qt Webview的程序(例如Master PDF ...

估计要哦等到16.0了。
Qt一升级,估计又要挂掉一批软件。还是维稳要紧
Reply View the author
emofode
deepin
2018-06-12 16:54
#9
Deepin 马上会升级 Qt 5.10
Reply View the author
pikachuhy
deepin
2018-06-12 17:11
#10
https://bbs.deepin.org/post/157977
Deepin 马上会升级 Qt 5.10

Qt 5.10
不用lts的Qt5.9和Qt5.12
是看中了Qt 5.10的什么特性了吗?
Reply View the author
bsidb
deepin
2018-06-12 17:27
#11
https://bbs.deepin.org/post/157977
Deepin 马上会升级 Qt 5.10

32个赞! 等升级~
Reply View the author
guanmfei
deepin
2018-10-20 19:05
#12
我在gnome下gtk程序是可以缩放的,在deepin下就不行
Reply View the author