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

--- Comment #5 from Harald Sitter <[email protected]> ---
Created attachment 185048
  --> https://bugs.kde.org/attachment.cgi?id=185048&action=edit
memory allocations

Ha! I managed to somewhat reproduce this and I am reasonably certain it's some
problem with the driver. What appears to happen is that after a while (unclear
what triggers it) the GPU memory starts filling up (you can observe this using
nvtop). After exactly 10 minutes uptime the driver then allocates a bunch of
system memory. It will continue to do so exactly 5 minutes after the last
allocation. This appears to happen as a result of
QWaylandGLContext::swapBuffers but I am rather thinking it's simply the trigger
for whatever happens internally in the driver source.

I am going to attach a heaptrack graph of the memory consumption. We can very
clearly see the consumption spikes every 5 minutes.

<unresolved function> in libnvidia-eglcore.so.580.82.09
<unresolved function> in libnvidia-eglcore.so.580.82.09
<unresolved function> in libEGL_nvidia.so.0
<unresolved function> in libEGL_nvidia.so.0
<unresolved function> in libEGL_nvidia.so.0
<unresolved function> in libEGL_nvidia.so.0
wlEglSwapBuffersWithDamageHook in libnvidia-egl-wayland.so.1
<unresolved function> in libEGL_nvidia.so.0
<unresolved function> in libEGL_nvidia.so.0
QtWaylandClient::QWaylandGLContext::swapBuffers(QPlatformSurface*) in
libQt6WaylandEglClientHwIntegration.so.6
QRhiGles2::endFrame(QRhiSwapChain*, QFlags<QRhi::EndFrameFlag>) in
libQt6Gui.so.6
QRhi::endFrame(QRhiSwapChain*, QFlags<QRhi::EndFrameFlag>) in libQt6Gui.so.6
QSGGuiThreadRenderLoop::renderWindow(QQuickWindow*) in libQt6Quick.so.6
QWindow::event(QEvent*) in libQt6Gui.so.6
<unresolved function> in plasmashell
QApplicationPrivate::notify_helper(QObject*, QEvent*) in libQt6Widgets.so.6
QCoreApplication::notifyInternal2(QObject*, QEvent*) in libQt6Core.so.6
QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*)
in libQt6Gui.so.6
QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
in libQt6Gui.so.6
QWindowSystemInterface::flushWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
in libQt6Gui.so.6
QObject::event(QEvent*) in libQt6Core.so.6
QApplicationPrivate::notify_helper(QObject*, QEvent*) in libQt6Widgets.so.6
QCoreApplication::notifyInternal2(QObject*, QEvent*) in libQt6Core.so.6
QCoreApplication::sendEvent(QObject*, QEvent*) in libQt6Core.so.6
QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) in
libQt6Core.so.6
QCoreApplication::sendPostedEvents(QObject*, int) in libQt6Core.so.6
postEventSourceDispatch in libQt6Core.so.6
g_main_dispatch in libglib-2.0.so.0
g_main_context_iterate_unlocked::g_main_context_dispatch_unlocked in
libglib-2.0.so.0
g_main_context_iterate_unlocked in libglib-2.0.so.0
g_main_context_iteration in libglib-2.0.so.0
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) in
libQt6Core.so.6
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) in
libQt6Core.so.6
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) in libQt6Core.so.6
QCoreApplication::exec() in libQt6Core.so.6
<unresolved function> in plasmashell
__libc_start_call_main in libc.so.6
__libc_start_main_impl in libc.so.6
<unresolved function> in plasmashell

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

Reply via email to