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.

Reply via email to