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

--- Comment #8 from maximumsomething <maximumsometh...@gmail.com> ---
I did some investigating and the problem seems to be that
TileManager::setPixmap is being called with a partially rendered (mostly white)
pixmap covering the whole screen.

Seemingly, whenever a new tile scrolls into view, the entire visible area is
re-rendered. While this is happening, Poppler sends several updates with only
parts of the PDF processed. The first of these updates is mostly white, and
because it covers the whole screen, including tiles that were previously fully
rendered, we see flashing. It's easiest to see this happen with a complex PDF
that will serve a lot of partial updates.

Possible solutions:
 - Restrict the updated area to only the part of the screen that was not
rendered previously. (Possibly the job of
DocumentPrivate::sendGeneratorPixmapRequest or Document::requestPixmaps.)
 - Disable partial renderings.
 - Never overwrite with a partial render tiles that were previously fully
rendered.

The first option seems to be the best, but I suspect that there's a reason it
was originally written this way.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to