Scrolling in okular with the scroll bar is slow and lacks. If I click on the scroll bar and keep the left mouse button pressed and I move the mouse fast up and down several times, then okular starts to lack already quite a lot. If I then release the left mouse button, okular continues to scroll up and down. It feels like watching a movie, it recorded all the mouse movements and shows them in slow motion. STEPS TO REPRODUCE 1. Open in okular (Wayland) a PDF with several pages 2. scroll up and down OBSERVED RESULT: scrolling lacks and continues for several seconds without user interaction EXPECTED RESULT: scrolling feels natural and it stops quite fast SOFTWARE/OS VERSIONS Arch Linux: 5.3.6 KDE Plasma: 5.17 KDE Frameworks Version: 5.63 Qt Version: 5.14 beta Wayland 1.17 Mesa-git AMDGPU
okular seems to be using software rendering. Hand dragging is even worse. Here's a backtrace caught in the middle of slowliness: > #0 0x00007f39306888a9 in __memmove_avx_unaligned_erms () from /usr/lib/libc.so.6 > #1 0x00007f3930fe6e5b in QImage::copy(QRect const&) const () from /usr/lib/libQt5Gui.so.5 > #2 0x00007f39310299de in QRasterPlatformPixmap::copy(QPlatformPixmap const*, QRect const&) () from /usr/lib/libQt5Gui.so.5 > #3 0x00007f393101fb28 in QPixmap::copy(QRect const&) const () from /usr/lib/libQt5Gui.so.5 > #4 0x00007f3929286fb3 in PagePainter::paintCroppedPageOnPainter(QPainter*, Okular::Page const*, Okular::DocumentObserver*, int, int, int, QRect const&, Okular::NormalizedRect const&, Okular::NormalizedPoint*) () from /usr/lib/qt/plugins/okularpart.so > #5 0x00007f392929a81f in ?? () from /usr/lib/qt/plugins/okularpart.so > #6 0x00007f39292b1567 in ?? () from /usr/lib/qt/plugins/okularpart.so > #7 0x00007f39315ff0e6 in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #8 0x00007f39316b020f in QFrame::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #9 0x00007f39292b64b6 in ?? () from /usr/lib/qt/plugins/okularpart.so > #10 0x00007f3930b676d3 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 > #11 0x00007f39315bb4e4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #12 0x00007f39315c4e11 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #13 0x00007f3930b679c2 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 > #14 0x00007f39315f7a88 in QWidgetPrivate::sendPaintEvent(QRegion const&) () from /usr/lib/libQt5Widgets.so.5 > #15 0x00007f39315f82fb in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQt5Widgets.so.5 > #16 0x00007f39315ce16c in ?? () from /usr/lib/libQt5Widgets.so.5 > #17 0x00007f39315ce5f9 in ?? () from /usr/lib/libQt5Widgets.so.5 > #18 0x00007f39315e68d7 in QWidgetPrivate::syncBackingStore() () from /usr/lib/libQt5Widgets.so.5 > #19 0x00007f39315ff4b0 in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #20 0x00007f39317182e5 in QMainWindow::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #21 0x00007f3931fbd90c in KMainWindow::event(QEvent*) () from /usr/lib/libKF5XmlGui.so.5 > #22 0x00007f3932009538 in KXmlGuiWindow::event(QEvent*) () from /usr/lib/libKF5XmlGui.so.5 > #23 0x00007f39315bb4f5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #24 0x00007f39315c4e11 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #25 0x00007f3930b679c2 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 > #26 0x00007f39315cf0bd in ?? () from /usr/lib/libQt5Widgets.so.5 > #27 0x00007f39315d17e0 in ?? () from /usr/lib/libQt5Widgets.so.5 > #28 0x00007f39315e882f in QWidget::repaint(QRect const&) () from /usr/lib/libQt5Widgets.so.5 > #29 0x00007f39292986e1 in ?? () from /usr/lib/qt/plugins/okularpart.so > #30 0x00007f39316b2831 in QAbstractScrollAreaPrivate::_q_vslide(int) () from /usr/lib/libQt5Widgets.so.5 > #31 0x00007f3930b93a11 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQt5Core.so.5 > #32 0x00007f39316b7ebf in QAbstractSlider::valueChanged(int) () from /usr/lib/libQt5Widgets.so.5 > #33 0x00007f39316b851c in QAbstractSlider::setValue(int) () from /usr/lib/libQt5Widgets.so.5 > #34 0x00007f39292a6d5b in ?? () from /usr/lib/qt/plugins/okularpart.so > #35 0x00007f39292aeed0 in ?? () from /usr/lib/qt/plugins/okularpart.so > #36 0x00007f39315ff0e6 in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #37 0x00007f39316b020f in QFrame::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #38 0x00007f39292b64b6 in ?? () from /usr/lib/qt/plugins/okularpart.so > #39 0x00007f3930b676d3 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 > #40 0x00007f39315bb4e4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #41 0x00007f39315c4f8a in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #42 0x00007f3930b679c2 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 > #43 0x00007f39315c413b in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /usr/lib/libQt5Widgets.so.5 > #44 0x00007f393161b391 in ?? () from /usr/lib/libQt5Widgets.so.5 > #45 0x00007f393161e2d4 in ?? () from /usr/lib/libQt5Widgets.so.5 > #46 0x00007f39315bb4f5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #47 0x00007f39315c4e11 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 > #48 0x00007f3930b679c2 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 > #49 0x00007f3930f9dbf4 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/libQt5Gui.so.5 > #50 0x00007f3930f9f49b in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/libQt5Gui.so.5 > #51 0x00007f3930f79afc in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Gui.so.5 > #52 0x00007f392bddbc51 in ?? () from /usr/lib/libQt5WaylandClient.so.5 > #53 0x00007f392ec543ee in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 > #54 0x00007f392ec56201 in ?? () from /usr/lib/libglib-2.0.so.0 > #55 0x00007f392ec56241 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 > #56 0x00007f3930bbfa03 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 > #57 0x00007f3930b664ec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 > #58 0x00007f3930b6e326 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5 > #59 0x0000559346a1a79a in ?? () > #60 0x00007f393054b153 in __libc_start_main () from /usr/lib/libc.so.6 > #61 0x0000559346a1be8e in ?? ()
I see no problem with okular 1.9.2 on Wayland. Operating System: Arch Linux KDE Plasma Version: 5.17.90 KDE Frameworks Version: 5.66.0 Qt Version: 5.14.1
I opened a 6MB pdf and tried it again. Scrolling stopped immediately when releasing the left mouse button. So it seems to be fixed. Operating System: Arch Linux KDE Plasma Version: 5.18.0 KDE Frameworks Version: 5.67.0 Qt Version: 5.14.1 Kernel Version: 5.5.3-arch1-1