Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. QQuickPopupWindow performance issue
Qt 6.11 is out! See what's new in the release blog

QQuickPopupWindow performance issue

Scheduled Pinned Locked Moved QML and Qt Quick
1 Posts 1 Posters 627 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    Babalas
    wrote on last edited by
    #1

    Whenever a combo or menu item is clicked it causes a stall afterwards. I've traced it down to this:

    @
    9 ?? /usr/lib/nvidia-346/libGL.so.1 0x7ffff291eba2
    10 glXCreatePbuffer /usr/lib/nvidia-346/libGL.so.1 0x7ffff291a868
    11 QGLXPbuffer::QGLXPbuffer qglxintegration.cpp 709 0x7fffe2092c0b
    12 QXcbIntegration::createPlatformOffscreenSurface qxcbintegration.cpp 290 0x7fffe20574e0
    13 QOffscreenSurface::create qoffscreensurface.cpp 169 0x7ffff385f279
    14 QSGThreadedRenderLoop::releaseResources qsgthreadedrenderloop.cpp 1049 0x7ffff6b9d0a7
    15 QSGThreadedRenderLoop::windowDestroyed qsgthreadedrenderloop.cpp 820 0x7ffff6b9b95e
    16 QQuickWindow::~QQuickWindow qquickwindow.cpp 1111 0x7ffff6bd592d
    17 QQuickPopupWindow::~QQuickPopupWindow qquickpopupwindow_p.h 43 0x7fffd5edaa4c
    18 QQuickMenuPopupWindow::~QQuickMenuPopupWindow qquickmenupopupwindow_p.h 41 0x7fffd5f05389
    19 QQuickMenuPopupWindow::~QQuickMenuPopupWindow qquickmenupopupwindow_p.h 41 0x7fffd5f053c2
    20 qDeleteInEventHandler qobject.cpp 4391 0x7ffff34803b5
    @

    Specifically this bit of code which creates a new pbuffer every time the popup window closes
    @
    if (!window->handle()) {
    qCDebug(QSG_LOG_RENDERLOOP) << "- using fallback surface";
    fallback = new QOffscreenSurface();
    fallback->setFormat(w->actualWindowFormat);
    fallback->create();
    }
    @

    Can I somehow set window->handle() to the main window so it doesn't need to create a superfluous pbuffer?

    1 Reply Last reply
    0

    • Login

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Get Qt Extensions
    • Unsolved