In case it might help, this seems a recurrent stack trace during the slowness
writev,??,??,xcb_writev,_XSend,XRenderAddGlyphs,QFontEngineX11FT::uploadGlyphToServer(QFontEngineFT::QGlyphSet*,,
QFontEngineFT::loadGlyph(QFontEngineFT::QGlyphSet*,,QFontEngineFT::recalcAdvances(QGlyphLayout*,,??,??,??,??,
QTextEngine::shapeTextWithHarfbuzz(int),QTextEngine::shapeText(int),QTextEngine::shape(int)
likely with this sequel [1], so the innermost LyX code seems:
lyx::frontend::GuiFontMetrics::breakAt,lyx::Row::Element::breakAt,
lyx::Row::shortenIfNeeded,lyx::TextMetrics::breakRow,lyx::TextMetrics::redoParagraph,
Now, I'm just moving the cursor and sometimes selecting with Shift down, so do
we actually need to redoParagraph() ?
Thanks,
T.
[1]
writev,??,??,xcb_writev,_XSend,XRenderAddGlyphs,QFontEngineX11FT::uploadGlyphToServer(QFontEngineFT::QGlyphSet*,,
QFontEngineFT::loadGlyph(QFontEngineFT::QGlyphSet*,,QFontEngineFT::recalcAdvances(QGlyphLayout*,,??,??,??,??,
QTextEngine::shapeTextWithHarfbuzz(int),QTextEngine::shapeText(int),QTextEngine::shape(int),
QTextLine::layout_helper(int),lyx::frontend::GuiFontMetrics::breakAt,lyx::Row::Element::breakAt,
lyx::Row::shortenIfNeeded,lyx::TextMetrics::breakRow,lyx::TextMetrics::redoParagraph,
lyx::BufferView::updateMetrics,lyx::BufferView::processUpdateFlags,lyx::BufferView::mouseEventDispatch,
lyx::frontend::GuiWorkArea::Private::dispatch,lyx::frontend::GuiWorkArea::mousePressEvent,QWidget::event(QEvent*),
QFrame::event(QEvent*),QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*,,
QApplicationPrivate::notify_helper(QObject*,,QApplication::notify(QObject*,,lyx::frontend::GuiApplication::notify,
QCoreApplication::notifyInternal(QObject*,,QApplicationPrivate::sendMouseEvent(QWidget*,,??,
QApplication::x11ProcessEvent(_XEvent*),??,g_main_context_dispatch,??,g_main_context_iteration,
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>),??,
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>),
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>),QCoreApplication::exec(),
lyx::frontend::GuiApplication::exec,lyx::LyX::exec,main
On 08/12/2016 12:36, Tommaso Cucinotta wrote:
On 08/12/2016 11:09, Tommaso Cucinotta wrote:
I'm now trying oprofile/operf, just to compare output.
that's quite similar
CPU_CLK_UNHALT...|
samples| %|
------------------
1873080 100.000 lyx
CPU_CLK_UNHALT...|
samples| %|
------------------
1636151 87.3508 libfreetype.so.6.12.3
70092 3.7421 libQtGui.so.4.8.7
64930 3.4665 libc-2.24.so
52064 2.7796 libQtCore.so.4.8.7
27387 1.4621 kallsyms
7808 0.4169 libXrender.so.1.3.0
4479 0.2391 libX11.so.6.3.0
4366 0.2331 libstdc++.so.6.0.22
2532 0.1352 ld-2.24.so
1226 0.0655 lyx
866 0.0462 libxcb.so.1.1.0
651 0.0348 libpthread-2.24.so
275 0.0147 libglib-2.0.so.0.5000.0
40 0.0021 libqgif.so
30 0.0016 libdbus-1.so.3.14.7
29 0.0015 libgdk-x11-2.0.so.0.2400.30
T.