On Tue, 30 Nov 2021 11:10:37 -0500,
Fred Fu <moonsolo@gmail.com> wrote:
> I don't think three monitors are needed. Two monitors, one scaled@2x
> and one @1x, should be enough to reproduce the issue.
Reproduced.
I have a TV, that can be connected to my note PC, and tried GNOME(Wayland).
The PC's monitor is 2x and the TV is 1x.
I moved a pgtk emacs frame from the TV to the PC's monitor, and it became
blurry. When I resized it, it recovered.
> That said, I'd love to help debug this issue on my end, but I don't
> know what to start with. Any ideas?
I have a cairo_surface_t and draw on it. And I copy it on gtk window
when gtk wants so.
I don't scale fonts explicitly. Scaling is done implicitly by compositor,
gtk, and cairo.
My guess:
cairo_surface_t is bitmap.
On 1x, cairo_surface_t has non-scaled texts, and it is drawn on
gtk window as is.
When I move it to 2x, cairo_surface_t is drawn on gtk window
at double size. It is blurry, because cairo_surface_it is bitmap.
When I resize it, I recreate cairo_surface_t of logical size.
When that, cairo_surface_t is double size implicitly.
cairo_surface_t has 2x scaled texts. It is not blurry, because
fonts are vector graphics.
It is drawn on gtk window as is.
Maybe, I need to recreate cairo_surface_t when monitor
is changed. I looked for such a signal but nothing found.
--
Yuuki Harano