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

--- Comment #1 from Kai Uwe Broulik <k...@privat.broulik.de> ---
I had a quick look with hotspot and it seems like there’s a leak in QRhi
somewhere. Seems every window gets its own RHI instance with its own glyph
cache which is then leaked. Alas, I haven’t managed to figure out where it
comes from or what the remedy would be, or if that’s even the case, or why it
only really shows with notifications (I doubt it’s only notifications but they
create a new window every time).

for reference the leak stack in heaptrack:
2,7MB (33.2%) contribution to peak consumption in
QRhi::nextResourceUpdateBatch() in libQt6Gui.so.6 and below.
2,7MB (33.2%) contribution to peak consumption in
QSGDefaultRenderContext::glyphCacheResourceUpdates() in libQt6Quick.so.6 and
below.
2,7MB (33.2%) contribution to peak consumption in
QSGRhiTextureGlyphCache::createEmptyTexture(QRhiTexture::Format) in
libQt6Quick.so.6 and below.
2,7MB (33.2%) contribution to peak consumption in
QSGRhiTextureGlyphCache::endFillTexture() in libQt6Quick.so.6 and below.
2,8MB (34.5%) contribution to peak consumption in
QTextureGlyphCache::fillInPendingGlyphs() in libQt6Gui.so.6 and below.
2,8MB (34.9%) contribution to peak consumption in
QSGTextMaskMaterial::populate(QPointF const&, QList<unsigned int> const&,
QList<QPointF> const&, QSGGeometry*, QRectF*, QPointF*, QMargins const&) in
libQt6Quick.so.6 and below.
2,8MB (35%) contribution to peak consumption in QSGDefaultGlyphNode::update()
in libQt6Quick.so.6 and below.
2,8MB (35.1%) contribution to peak consumption in
QSGInternalTextNode::addGlyphs(QPointF const&, QGlyphRun const&, QColor const&,
QQuickText::TextStyle, QColor const&, QSGNode*) in libQt6Quick.so.6 and below.
2,8MB (35.1%) contribution to peak consumption in
QQuickTextNodeEngine::addToSceneGraph(QSGInternalTextNode*,
QQuickText::TextStyle, QColor const&) in libQt6Quick.so.6 and below.
2,8MB (35.1%) contribution to peak consumption in
QSGInternalTextNode::doAddTextLayout(QPointF, QTextLayout*, int, int, int, int)
in libQt6Quick.so.6 and below.
2,8MB (35.1%) contribution to peak consumption in
QSGTextNode::addTextLayout(QPointF, QTextLayout*, int, int, int, int) in
libQt6Quick.so.6 and below.
2,9MB (35.6%) contribution to peak consumption in
QQuickText::updatePaintNode(QSGNode*, QQuickItem::UpdatePaintNodeData*) in
libQt6Quick.so.6 and below.
3,0MB (37.5%) contribution to peak consumption in
QQuickWindowPrivate::updateDirtyNode(QQuickItem*) in libQt6Quick.so.6 and
below.
3,0MB (37.6%) contribution to peak consumption in
QQuickWindowPrivate::updateDirtyNodes() in libQt6Quick.so.6 and below.
3,1MB (38%) contribution to peak consumption in
QQuickWindowPrivate::syncSceneGraph() in libQt6Quick.so.6 and below.
3,1MB (38%) contribution to peak consumption in QSGRenderThread::sync(bool) in
libQt6Quick.so.6 and below.
5,6MB (69.6%) contribution to peak consumption in
QSGRenderThread::syncAndRender() in libQt6Quick.so.6 and below.
7,1MB (88.2%) contribution to peak consumption in QSGRenderThread::run() in
libQt6Quick.so.6 and below.
7,1MB (88.2%) contribution to peak consumption in
terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> >::operator()
in libQt6Core.so.6 and below.

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

Reply via email to