![可访问性:使用高屏幕外分辨率来获得更好的缩放质量?(compiz、gnome-shell)](https://linux22.com/image/930308/%E5%8F%AF%E8%AE%BF%E9%97%AE%E6%80%A7%EF%BC%9A%E4%BD%BF%E7%94%A8%E9%AB%98%E5%B1%8F%E5%B9%95%E5%A4%96%E5%88%86%E8%BE%A8%E7%8E%87%E6%9D%A5%E8%8E%B7%E5%BE%97%E6%9B%B4%E5%A5%BD%E7%9A%84%E7%BC%A9%E6%94%BE%E8%B4%A8%E9%87%8F%EF%BC%9F%EF%BC%88compiz%E3%80%81gnome-shell%EF%BC%89.png)
我有视力障碍,正在使用 Ubuntu 20.04(Windows 更难定制)想知道是否可以设置高于显示器的分辨率(例如:2k 显示器的 4k 根窗口)。
如果我理解正确的话,应用程序窗口可以在具有 4k 高分辨率的屏幕外纹理中渲染。然后,合成管理器(gnome-shell/mutter、compiz)会将它们映射到 2k 物理显示器像素。
这意味着当您放大窗口时,您可以获得更好的图像质量(重新缩放会将更大的纹理映射到显示器)。例如:使用 4k 到 2k 设置和 x2 缩放,您仍然可以在屏幕外和显示器之间获得完美的一对一像素比例因子。我想这对你们大多数人来说都不是什么大问题,但我使用了高缩放系数,结果非常模糊,这使得事情变得更加难以阅读。(OpenGL 抗锯齿升级很棒,但当您以 x5 放大时它无法猜测“缺失”的像素,因此您会失去很多清晰度)
正如在旧帖子中发现的那样,我尝试过 xrandr,但如下所示。我甚至不确定它在我的 20.04 系统上是否仍然相关:
xrandr --output HDMI-0 --mode 3840x2160 --scale 2.0x2.0
xrandr: cannot find mode 3840x2160
顺便说一句:我尝试过 gnome-shell,但不得不切换回 compiz 以获得“增强缩放”的强制“用鼠标滚轮缩放”选项。
感谢您的帮助。
答案1
谢谢 user.dz。在您的指点下,我设法通过以下方式改进了情况:
output=$(xrandr | grep " connected" | cut -d ' ' -f 1)
xrandr --output $output --scale 2.0x2.0 --dpi 200
这为我提供了更大的(2k->4k)屏幕外分辨率,任何作曲家(gnome-shell/mutter、compiz 等)都会使用它来获得更好的缩放效果。对于文本,这使其更容易阅读。
为了使此功能正常工作,您还需要将所有内容放大 2 倍以使用所有新的可用像素。为了补偿 2 倍更大的屏幕,您必须在 gnome 设置中将比例因子设置为 200%:显示
因此,在更大(关闭)屏幕上绘制的所有内容在显示器上具有相同的视在大小,但由 4 倍的像素组成(x 轴和 y 轴加倍)
不幸的是,200% 显示比例不适用于所有 UI 元素,因此有些东西看起来太小(已知问题与高 DPI 有关)。例如:thunderbird 在编辑新邮件时不会缩放字体(准备好进行大量 Ctrl-+ 或 Ctrl-鼠标滚轮操作)
在这种模式下使用两周后,我很满意并将继续使用它。更好的整体缩放质量/可读性值得解决几个剩余的问题。
如果您正在为缩放文本的可访问性和可读性而苦恼,希望它能有所帮助。
如果 Ubuntu 可以支持此“技巧”作为官方可访问性选项,那就太好了。
答案2
我可能没有像你期望的那样提供帮助,我没有尝试过缩放。我会根据我的理解解释我的经验。
帧缓冲区 (FB) → 位置 → 变换 (TR) → 平移 → 输出端口 → 与显示器的物理连接
--scale
在转换步骤中工作(与--reflect 和--rotate相同)但根据需要自动设置帧缓冲区。--mode
设置输出端口(分辨率),它仅取决于监视器/连接/图形适配器功能。
因此,即使您能够强制添加该模式,设置您在问题中提到的模式也会失败,因为它不受支持。监视器将保持空白。
您可以设置:double
--fb
、double--scale
、keep original--mode
。您会注意到由于图像缩小(从大帧缓冲区转换为较小分辨率的输出端口)而导致的一些模糊。不确定缩放效果如何?如果它使用 FB 作为源,可能会很清晰。另一个选项是
--panning
在单个显示器上平移(仅可见缓冲区的一部分,跟随鼠标查看其他角落)或在多个显示器上平移。您甚至可以拥有一个普通显示器和另一个具有缩放和平移功能的显示器,要么用于相同的缓冲区(永久缩放),要么在侧面(带缩放功能的扩展桌面)
请查看此处我的帖子,其中包含缩放的图片和屏幕截图:在不同的显示器上以不同的方式缩放应用程序 - Ubuntu 16.04顺便说一下,屏幕截图上的乱码区域是帧缓冲区中无法访问的盲区。但您可以设置平移并激活。