Wayland 부분 스케일링을 흐리게 하는 방법

Wayland 부분 스케일링을 흐리게 하는 방법

내가 아는 한, 모든 글꼴(예: SVG)은 벡터 표현이므로 무한히 확장될 수 있습니다. 하지만 여기에는 LibreOffice Writer에서 가져온 동일한 크기의 확대된 "S" 문자 두 개가 있습니다.

이는 12포인트이며 디스플레이 크기는 175%로 조정되어 표시되는 크기는 21포인트가 됩니다. 여기에 이미지 설명을 입력하세요.

디스플레이 확대/축소가 100%인 경우 이 값은 21포인트입니다.

여기에 이미지 설명을 입력하세요.

둘 다 동일한 높은 DPI 디스플레이(2560x1600)에서 렌더링되지만 175% 크기로 조정된 버전이 눈에 띄게 더 흐릿합니다.

무슨 일이 일어나고 있는 것 같습니까? 175%(상단) 버전은 단순히 저해상도 이미지를 래스터 보간하여 모니터를 실제보다 저해상도 장치로 효과적으로 처리하는 것입니다.

IE: 왜 웨일랜드는 안 돼?벡터벡터 이미지 포맷 스케일링, 어떻게 해야 하나요? 확실히 올바른 상황은 스케일링 요소에 관계없이 모니터의 최대 성능으로 렌더링을 수행해야 한다는 것입니다. 두 개의 "S"는 글꼴 크기로 배율을 상쇄했기 때문에 분명히 화면에서 정확히 동일한 공간을 차지합니다.

Windows 11에서 동일한 작업을 수행했는데 이러한 불행한 단점은 없는 것 같습니다.

DPI가 더 낮고 100%로 확장되는 다른 모니터가 연결되어 있다는 점에 유의해야 합니다. 그게 상황에 영향을 미치는지는 모르겠습니다.

기본 Gnome 데스크탑에서는 Ubuntu 22.04를 사용하고 있습니다.

답변1

IE: Wayland 벡터 스케일링이 벡터 이미지 형식이 아닌 이유는 무엇이며 어떻게 해야 합니까? 확실히 올바른 상황은 스케일링 요소에 관계없이 모니터의 최대 성능으로 렌더링을 수행해야 한다는 것입니다.

Wayland는 어떤 종류의 글꼴이나 렌더링도 전혀 처리하지 않습니다. 수신되는 유일한 콘텐츠는 화면에 표시할 준비가 된 픽셀의 플랫 버퍼입니다. (실제로 최근 몇 년 동안 X11도 마찬가지입니다. 지난 10~20년 동안 작성된 응용 프로그램이나 툴킷은 X11의 매우 제한된 텍스트 그리기 기능을 사용하지 않으며 항상 클라이언트 측에서 수행하고 완성된 픽셀 맵을 Xorg에 제공합니다.)

나머지 UI도 애플리케이션에 의해 미리 렌더링되어 벡터 형식이 아닌 비트맵으로 디스플레이 서버에 제공됩니다.

그래서 가능한 유일한 방법은 Wayland 서버 알림 응용 프로그램입니다그들 자신렌더링된 출력의 크기를 약 2배로 조정합니다(예: GTK3/GTK4는 이를 수행하여 벡터 글꼴뿐만 아니라 다른 모든 것을 2배 크기로 그릴 수 있습니다).

그러나 애플리케이션이 요청에 응답하지 않는 경우 디스플레이 서버에는 최종 이미지 버퍼를 늘리는 옵션만 있습니다. 이것이 유일한 옵션이기 때문입니다. 내가 아는 한 Wayland의 분수 스케일링은 이전 정수 스케일링과 다른 "프로토콜"을 사용하므로 LibreOffice의 "VCL" UI 툴킷이 아직 이를 지원하지 않거나 실제로 Xwayland를 통해 X11 모드에서 계속 실행될 가능성이 높습니다.

LibreOffice의 VCL은 실제로 프런트엔드입니다.다양한 종류툴킷(GTK3, Qt5, Windows 기본 위젯을 통해 UI를 그릴 수 있음...)것 같다보다 현대적인 Qt6 백엔드를 사용하도록 지시하면 더 나은 결과를 얻을 수 있습니다.

$ export SAL_USE_VCLPLUGIN=qt6
$ libreoffice --writer

...Ubuntu의 버전이 이 기능을 지원하고 Qt6이 설치되어 있다고 가정합니다. (GNOME의 표준 툴킷은 GTK이며, 이는 약간의 이점을 얻었습니다.해커 양식나는 GTK 4.8이 최근 분수 스케일링을 지원했다고 생각하지만 LibreOffice는 여전히 GTK 3.x를 사용합니다. )

Windows 11에서 동일한 작업을 수행했는데 이러한 불행한 단점은 없는 것 같습니다.

그것하다.많은 Windows 프로그램(특히 오래된 프로그램)은 여전히 ​​UI 크기 조정을 지원하지 않습니다. Windows는 기본 GDI 위젯을 사용하는 프로그램에 대해 UI 도구 키트 수준에서 이를 처리하려고 시도하지만(GTK 또는 Qt가 자체 크기 조정을 수행하는 방법과 유사) 잘 진행되지 않았고 Windows조차도 비트맵 크기 조정으로 되돌아가야 했습니다. (예를 들어, UI 키트 크기 조정으로 인해 버튼과 기타 요소가 혼란스럽게 겹쳐지는 기존 회계 프로그램을 여전히 사용하고 있으므로 호환성 옵션으로 이동하여 비트맵 크기 조정을 선택해야 합니다.)

관련 정보