Summary: | 2x scale region streams downscale then upscale 2x scale screens | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Noah Davis <noahadvs> |
Component: | effects-various | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | ahiemstra, kde, nate, xaver.hugl |
Priority: | NOR | Keywords: | qt6 |
Version First Reported In: | git master | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/plasma/kwin/-/commit/c8d4f26a9fbab3d23aac19393b0f98246b5dfc58 | Version Fixed In: | |
Sentry Crash Report: | |||
Attachments: | background: actual content; left video: 1x scale stream video played on a 2x scale screen for reference; right video: 2x scale stream video |
Description
Noah Davis
2023-11-11 23:08:13 UTC
Created attachment 163061 [details]
background: actual content; left video: 1x scale stream video played on a 2x scale screen for reference; right video: 2x scale stream video
Notice how the video of the 2x scale stream is sharper but still low quality while the video of the 1x scale stream was upscaled differently. The 2x scale stream appears to actually be scaled up by 2x, but the content was already downscaled to 1x.
Note, this also happens when the region is entirely within the 2x scale screen, but you must divide the region position by the scale first to get it on the 2x screen because of https://bugs.kde.org/show_bug.cgi?id=476858 A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/4715 Git commit c8d4f26a9fbab3d23aac19393b0f98246b5dfc58 by Vlad Zahorodnii. Committed on 28/11/2023 at 09:52. Pushed by vladz into branch 'master'. plugins/screencast: Fix hidpi region screencasting Currently hidpi region screencasting is broken because output textures are inappropriately scaled. The orthographic projection is set up with logical pixels, but the remaining rendering code uses "1 / m_scale" scale factor, which is wrong. In order to fix hidpi and also simplify rendering logic, this change makes rendering code use logical coordinate system. It's okay to do in screencasting because we don't need to worry about snapping to the pixel grid. Related: bug 476858 M +3 -3 src/plugins/screencast/regionscreencastsource.cpp https://invent.kde.org/plasma/kwin/-/commit/c8d4f26a9fbab3d23aac19393b0f98246b5dfc58 *** Bug 476632 has been marked as a duplicate of this bug. *** |