[konsole] [Bug 373232] Horizontal lines with fractional HiDPI scaling
Ruth Ivimey-Cook
bugzilla_noreply at kde.org
Sun Aug 16 13:00:12 BST 2020
https://bugs.kde.org/show_bug.cgi?id=373232
--- Comment #214 from Ruth Ivimey-Cook <ruth at ivimey.org> ---
I did some more work trying to understand the issue yesterday and as part of
that created some debug prints to show what is happening. Note that the debug
includes a macro "delay()" which was intended to slow things down enough to
watch what happens. Change the delay amount or remove the call to delay() as
appropriate.
I had previously presumed the bug was an 'off-by-one' error but the debug code
indicates that updates do happen on the appropriate pixel areas. I no longer
think this explains it. However the lines do appear more reliably when the
drawTextFragments() call isn't followed by anything else.
I think, though at present this is a guess, that the problem is a rounding
error. If internally the scaling code is rounding down rather than up, a
fractional half or third of a pixel could be reduced to 0, and that when then
scaled up that results in whole rows or columns of pixels not written. I say
this is a guess because I haven't yet found the evidence for it.
What is also obvious from the resulting trace is that there is a lot of
apparently unnecessary repainting going on. Partly this is because ::paintEvent
is being called with a damage rectangle equal to the terminal widget size, for
reasons I cannot yet explain.
It would be good to eliminate the excessive repainting because it partly masks
the actual issues, and partly because it is just making everything slower.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the konsole-devel
mailing list