Skip to content

fix: render web page at display pixel ratio (crisp HiDPI, GUI-Scale-independent) — 1.6.2 - #26

Merged
KoSHeroff merged 1 commit into
mainfrom
fix/device-scale
Jul 26, 2026
Merged

fix: render web page at display pixel ratio (crisp HiDPI, GUI-Scale-independent) — 1.6.2#26
KoSHeroff merged 1 commit into
mainfrom
fix/device-scale

Conversation

@KoSHeroff

Copy link
Copy Markdown
Member

Что

Страница теперь масштабируется корректно и остаётся чёткой на HiDPI/Retina, и больше не меняет размер при смене GUI Scale.

Как

  • Вьюпорт браузера задаётся в логических точках окна (framebuffer / OS content scale), а не в физических пикселях.
  • CEF device scale factor выставляется в OS content scale (рефлексия в CefBrowserOsr.scaleFactor_), поэтому вью рендерится в физическом разрешении → чётко, а CSS-вьюпорт логический и не зависит от GUI Scale.
  • Best-effort: если рефлексия недоступна — тихий фолбэк (рендер работает, без повышенной чёткости).

Объём

Только device scale (WebViewLayout + правки ресайза/мыши в WebViewScreen/WebHudOverlay). Reuse браузера и фикс буфера обмена (Ctrl+C) — не входят в этот релиз. Bump до 1.6.2.

Примечание

Проверено на 26.2 (рендер в физическом разрешении). Отдельный флейки macOS-хэнг MCEF 2.2.0 на 1.21.11-neoforge к этому не относится.

Size the browser view to the window's physical framebuffer pixels (so the
OSR texture draws 1:1 → sharp) and apply CEF page zoom equal to the OS
content scale, so the page's CSS viewport stays logical and does not track
Minecraft's GUI Scale. Uses only the public setZoomLevel API — no
device_scale_factor and no reflection.

Bump to 1.6.2.
@KoSHeroff
KoSHeroff merged commit b5a0cc7 into main Jul 26, 2026
8 checks passed
@KoSHeroff
KoSHeroff deleted the fix/device-scale branch July 26, 2026 16:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant