[okular] [Bug 401339] presentation: odd scaling/anti aliasing

Dr. David Alan Gilbert (rh) bugzilla_noreply at kde.org
Fri Dec 21 00:33:39 GMT 2018


https://bugs.kde.org/show_bug.cgi?id=401339

--- Comment #8 from Dr. David Alan Gilbert (rh) <dgilbert at redhat.com> ---
I built with debug and think I've tracked the problem down to the use of the
tilemanager; and I think it's interacting with images rendered for
previews/thumnails, so that it's using those small images.

I noticed that document.cpp DocumentPrivate::snedGeneratorPixmapRequest has a
8MPixel limit and says:
'If the requested area is above 8000000 pixels, switch on the tile manager'

well, uHD is 3840x2160=8294400 pixels - so that triggers.
If I bodge that limit to 10M my problem goes away.

So then I added a debug just under the 'fill the tiles manager with the last
pixmap' around line 1342  after the 'if (pixmap)'

and I see:
org.kde.okular.core: Start using tiles on page 11 (3745x2160 px);
org.kde.okular.core: tilesManager existing pixmap width=474 height=273

that 474x273 is the size of the preview shown in the main okular window in
'Overview' mode (and I'm running 9 slides visible).

So you *might* not notice this if you were running full-page in your
non-presentation window; however even then I managed to trigger it
non-repeatably; and I think what's happening in that case is that if in the
main window I have:
   a) Full size previews on my HD monitor (with menus/thumbnails/borders a bit
less than 1920x1080) - OK they look a bit fuzzy when scaled to uHD but many
might not notice or complain
   b) If you get unlucky you've not looked at the page in the preview, but you
DO* have the thumbnail from the thumbnail side bar, and that's abysmal
resolution; but it's the last one you've got so you scale it up.

so I think the if (pixmap) test for reusing an existing pixmap needs to be
smarter somehow;  maybe it only uses the existing pixmap if the pixmap size
actually fully matches? Or maybe you have to give it some slack for cases where
the scaling has to round?

e.g. if you weren't running previews then p

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Okular-devel mailing list