[Okular-devel] [Bug 209680] New: Okular hitting big latency issue in Qt/GLib event loop

Benoît Jacob jacob.benoit.1 at gmail.com
Tue Oct 6 22:45:40 CEST 2009


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

           Summary: Okular hitting big latency issue in Qt/GLib event loop
           Product: okular
           Version: unspecified
          Platform: Compiled Sources
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: NOR
         Component: general
        AssignedTo: okular-devel at kde.org
        ReportedBy: jacob.benoit.1 at gmail.com


Version:            (using Devel)
Compiler:          GCC 4.4 
OS:                Linux
Installed from:    Compiled sources

When you click "Zoom In" in the toolbar, you'd expect PageView::slotZoomIn() to
be called instantly.

To check, edit okular/ui/pageview.cpp and edit slotZoomIn to look like this,

void PageView::slotZoomIn()
{
    cout << "slotZoomIn" << endl;
    updateZoom( ZoomIn );
}

Now open any PDF document (doesn't seem doc-specific, but didn't try with
non-PDF).

Zoom to 150%.

Now hit "Zoom In" in the toolbar and check the console output. There's a
noticeable delay until "slotZoomIn" gets printed in the console.

This gets worse as the zoom factor increases, HOWEVER when the zoom factor is
big enough to trigger the "blank white page rendered" effect (see
https://bugs.kde.org/show_bug.cgi?id=209630), then suddenly the latency
disappears and slotZoomIn is called instantly!

During the latency, notice that the Qt UI is frozen. Indeed, with Oxygen style,
the glow on the Zoom In toolbar button stays glowing during this latency, it
doesn't get back to normal instantly as it should.

This is on openSUSE 11.2. Albert was able to confirm the latency on his
machine.

This doesn't seem to be affected by setting QT_NO_GLIB=1.

In a debugger, all I can see is normal event loop business with a lot of mutex
locking going around.

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the Okular-devel mailing list