Abdelrazak Younes wrote:
I can't reproduce the selection problem (because I'm not on X11) but
could you please apply this patch and report if the slowness problem
still persist?
Unfortunately, that did not help. But here are some more things I've
found out.
First, the slowness is coming during the update of the standard toolbar,
in particular, during the update of the PASTE button, and more precisely
during the getStatus() call, and yet more precisely, during the
theClipboard().empty() check. So I did this:
bool GuiClipboard::empty() const
{
// We need to check both the plaintext and the LyX version of the
// clipboard. The plaintext version is empty if the LyX version
// contains only one inset, and the LyX version is empry if the
// clipboard does not come from LyX.
QTime t = QTime::currentTime();
bool b = !qApp->clipboard()->text(QClipboard::Clipboard).isEmpty();
lyxerr << "Checking emptiness took " << t.restart() << std::endl;
if (b)
return false;
return !hasLyXContents();
}
and I'm getting times on the order of 125ms just for that one call.
Second, every toolbar is updated every time through here EVEN IF IT IS
NOT DISPLAYED. I found this out because hiding the standard toolbar made
no difference. This is a waste.
Third, even under the best of circumstances, updating the math panel
toolbar takes a good long time: 20ms, on average, compared with less
than 1ms for the other toolbars. Does this really need to be done for
every keypress? or all that often, period? Things here don't get enabled
and disabled, do they?
Richard
Updating Default took 0
Updating Numbered list took 1
Updating Itemized list took 0
Updating List took 0
Updating Description took 0
Updating Increase depth took 0
Updating Decrease depth took 0
Updating Insert figure float took 0
Updating Insert table float took 0
Updating Insert label took 1
Updating Insert cross-reference took 0
Updating Insert citation took 0
Updating Insert index entry took 0
Updating Insert nomenclature entry took 0
Updating Insert footnote took 0
Updating Insert margin note took 0
Updating Insert note took 0
Updating Insert URL took 0
Updating Insert TeX code took 0
Updating Include file took 0
Updating Text style took 1
Updating Paragraph settings took 0
Updating Thesaurus took 0
updated() took 0
Doing that one took 3
Updating Set display mode took 0
Updating Subscript took 0
Updating Superscript took 0
Updating Insert square root took 0
Updating Insert root took 0
Updating Insert standard fraction took 0
Updating Insert sum took 0
Updating Insert integral took 0
Updating Insert product took 0
Updating Insert ( ) took 0
Updating Insert [ ] took 0
Updating Insert { } took 0
Updating Insert delimiters took 0
Updating Insert matrix took 0
Updating Insert cases environment took 0
Updating Add row took 0
Updating Add column took 0
Updating Delete row took 0
Updating Delete column took 0
Updating Toggle Math Panels took 1
updated() took 0
Doing that one took 1
Updating Thin space \, took 0
Updating Medium space \: took 0
Updating Thick space \; took 0
Updating Quadratin space \quad took 0
Updating Double quadratin space \qquad took 0
Updating Negative space \! took 0
Updating Display style \displaystyle took 0
Updating Normal text style \textstyle took 0
Updating Script (small) style \scriptstyle took 0
Updating Scriptscript (smaller) style \scriptscriptstyle took 0
Updating Standard \frac took 0
Updating No hor. line \atop took 0
Updating Nice \nicefrac took 0
Updating Text frac (amsmath) \tfrac took 1
Updating Display frac (amsmath) \dfrac took 0
Updating Binomial \choose took 0
Updating Roman \mathrm took 0
Updating Bold \mathbf took 0
Updating Bold symbol \boldsymbol took 0
Updating Sans serif \mathsf took 0
Updating Italic \mathit took 0
Updating Typewriter \mathtt took 0
Updating Blackboard \mathbb took 1
Updating Fraktur \mathfrak took 0
Updating Calligraphic \mathcal took 0
Updating Normal text mode \textrm took 0
Updating arccos took 0
Updating arcsin took 0
Updating arctan took 0
Updating arg took 0
Updating bmod took 0
Updating cos took 0
Updating cosh took 0
Updating cot took 0
Updating coth took 0
Updating csc took 0
Updating deg took 0
Updating det took 0
Updating dim took 0
Updating exp took 0
Updating gcd took 0
Updating hom took 0
Updating inf took 0
Updating ker took 0
Updating lg took 0
Updating lim took 0
Updating liminf took 0
Updating limsup took 0
Updating ln took 0
Updating log took 0
Updating max took 0
Updating min took 0
Updating sec took 0
Updating sin took 0
Updating sinh took 0
Updating sup took 0
Updating tan took 0
Updating tanh took 0
Updating Pr took 0
Updating hat took 0
Updating tilde took 0
Updating bar took 0
Updating grave took 0
Updating dot took 0
Updating check took 0
Updating widehat took 0
Updating widetilde took 0
Updating vec took 0
Updating acute took 0
Updating ddot took 0
Updating breve took 0
Updating overline took 0
Updating overbrace took 0
Updating overleftarrow took 1
Updating overrightarrow took 0
Updating overleftrightarrow took 0
Updating overset took 0
Updating underline took 0
Updating underbrace took 0
Updating underleftarrow took 0
Updating underrightarrow took 0
Updating underleftrightarrow took 0
Updating underset took 0
Updating intop took 0
Updating int took 0
Updating iintop took 0
Updating iint took 0
Updating iiintop took 0
Updating iiint took 0
Updating iiiintop took 0
Updating iiiint took 1
Updating dotsintop took 0
Updating dotsint took 0
Updating ointop took 0
Updating oint took 0
Updating oiintop took 0
Updating oiint took 0
Updating ointctrclockwiseop took 1
Updating ointctrclockwise took 0
Updating ointclockwiseop took 0
Updating ointclockwise took 0
Updating sqintop took 0
Updating sqint took 0
Updating sqiintop took 0
Updating sqiint took 0
Updating sum took 0
Updating prod took 0
Updating coprod took 0
Updating bigsqcup took 0
Updating bigotimes took 0
Updating bigodot took 0
Updating bigoplus took 0
Updating bigcap took 0
Updating bigcup took 0
Updating biguplus took 0
Updating bigvee took 0
Updating bigwedge took 0
Updating nabla took 0
Updating partial took 0
Updating infty took 0
Updating prime took 0
Updating ell took 0
Updating emptyset took 0
Updating exists took 0
Updating forall took 1
Updating imath took 0
Updating jmath took 0
Updating Re took 0
Updating Im took 0
Updating aleph took 0
Updating wp took 0
Updating hbar took 0
Updating angle took 0
Updating top took 0
Updating bot took 0
Updating Vert took 0
Updating neg took 0
Updating flat took 0
Updating natural took 0
Updating sharp took 0
Updating surd took 0
Updating triangle took 0
Updating diamondsuit took 0
Updating heartsuit took 0
Updating clubsuit took 0
Updating spadesuit took 0
Updating textrm \AA took 0
Updating textrm \O took 0
Updating mathcircumflex took 0
Updating _ took 1
Updating mathrm T took 0
Updating mathbb N took 0
Updating mathbb Z took 0
Updating mathbb Q took 0
Updating mathbb R took 0
Updating mathbb C took 0
Updating mathbb H took 0
Updating mathcal F took 0
Updating mathcal L took 0
Updating mathcal H took 0
Updating mathcal O took 0
Updating phantom took 0
Updating vphantom took 0
Updating hphantom took 0
Updating alpha took 0
Updating beta took 0
Updating gamma took 0
Updating delta took 0
Updating epsilon took 0
Updating varepsilon took 0
Updating zeta took 0
Updating eta took 0
Updating theta took 0
Updating vartheta took 0
Updating iota took 0
Updating kappa took 0
Updating lambda took 0
Updating mu took 0
Updating nu took 0
Updating xi took 0
Updating pi took 0
Updating varpi took 0
Updating rho took 0
Updating varrho took 0
Updating sigma took 0
Updating varsigma took 0
Updating tau took 0
Updating upsilon took 0
Updating phi took 0
Updating varphi took 0
Updating chi took 0
Updating psi took 0
Updating omega took 0
Updating Gamma took 0
Updating Delta took 0
Updating Theta took 0
Updating Lambda took 0
Updating Xi took 0
Updating Pi took 0
Updating Sigma took 0
Updating Upsilon took 0
Updating Phi took 0
Updating Psi took 0
Updating Omega took 0
Updating leftarrow took 0
Updating rightarrow took 0
Updating downarrow took 0
Updating uparrow took 0
Updating updownarrow took 0
Updating leftrightarrow took 0
Updating Leftarrow took 0
Updating Rightarrow took 0
Updating Downarrow took 0
Updating Uparrow took 0
Updating Updownarrow took 1
Updating Leftrightarrow took 0
Updating Longleftrightarrow took 0
Updating Longleftarrow took 0
Updating Longrightarrow took 0
Updating longleftrightarrow took 0
Updating longleftarrow took 0
Updating longrightarrow took 0
Updating leftharpoondown took 0
Updating rightharpoondown took 0
Updating mapsto took 0
Updating longmapsto took 0
Updating nwarrow took 0
Updating nearrow took 0
Updating leftharpoonup took 0
Updating rightharpoonup took 0
Updating hookleftarrow took 0
Updating hookrightarrow took 2
Updating swarrow took 0
Updating searrow took 0
Updating rightleftharpoons took 0
Updating dashleftarrow took 0
Updating dashrightarrow took 0
Updating leftleftarrows took 0
Updating leftrightarrows took 0
Updating rightrightarrows took 0
Updating rightleftarrows took 0
Updating Lleftarrow took 0
Updating Rrightarrow took 0
Updating twoheadleftarrow took 0
Updating twoheadrightarrow took 0
Updating leftarrowtail took 0
Updating rightarrowtail took 0
Updating looparrowleft took 0
Updating looparrowright took 0
Updating curvearrowleft took 0
Updating curvearrowright took 0
Updating circlearrowleft took 0
Updating circlearrowright took 0
Updating Lsh took 0
Updating Rsh took 0
Updating upuparrows took 0
Updating downdownarrows took 0
Updating upharpoonleft took 0
Updating upharpoonright took 0
Updating downharpoonleft took 0
Updating downharpoonright took 0
Updating leftrightharpoons took 0
Updating rightleftharpoons took 0
Updating rightsquigarrow took 0
Updating leftrightsquigarrow took 0
Updating nleftarrow took 0
Updating nrightarrow took 0
Updating nleftrightarrow took 0
Updating nLeftarrow took 1
Updating nRightarrow took 0
Updating nLeftrightarrow took 0
Updating multimap took 0
Updating pm took 0
Updating cap took 0
Updating diamond took 0
Updating oplus took 0
Updating mp took 0
Updating cup took 0
Updating bigtriangleup took 0
Updating ominus took 0
Updating times took 0
Updating uplus took 0
Updating bigtriangledown took 0
Updating otimes took 0
Updating div took 0
Updating sqcap took 0
Updating triangleright took 0
Updating oslash took 0
Updating cdot took 0
Updating sqcup took 0
Updating triangleleft took 0
Updating odot took 0
Updating star took 0
Updating vee took 0
Updating amalg took 0
Updating bigcirc took 0
Updating setminus took 0
Updating wedge took 0
Updating dagger took 0
Updating circ took 0
Updating bullet took 0
Updating wr took 0
Updating ddagger took 0
Updating leq took 0
Updating geq took 0
Updating equiv took 0
Updating models took 0
Updating prec took 0
Updating succ took 0
Updating sim took 0
Updating perp took 0
Updating preceq took 0
Updating succeq took 0
Updating simeq took 0
Updating mid took 0
Updating ll took 0
Updating gg took 0
Updating asymp took 0
Updating parallel took 0
Updating subset took 0
Updating supset took 0
Updating approx took 0
Updating smile took 0
Updating subseteq took 0
Updating supseteq took 0
Updating cong took 0
Updating frown took 0
Updating sqsubseteq took 0
Updating sqsupseteq took 0
Updating doteq took 0
Updating neq took 0
Updating in took 0
Updating ni took 1
Updating propto took 0
Updating notin took 0
Updating vdash took 0
Updating dashv took 0
Updating bowtie took 0
Updating leqq took 0
Updating geqq took 0
Updating leqslant took 0
Updating geqslant took 0
Updating eqslantless took 0
Updating eqslantgtr took 0
Updating lesssim took 0
Updating gtrsim took 0
Updating lessapprox took 0
Updating gtrapprox took 0
Updating approxeq took 0
Updating triangleq took 0
Updating lessdot took 2
Updating gtrdot took 0
Updating lll took 0
Updating ggg took 0
Updating lessgtr took 0
Updating gtrless took 0
Updating lesseqgtr took 0
Updating gtreqless took 0
Updating lesseqqgtr took 0
Updating gtreqqless took 0
Updating eqcirc took 0
Updating circeq took 0
Updating thicksim took 0
Updating thickapprox took 0
Updating backsim took 0
Updating backsimeq took 0
Updating subseteqq took 0
Updating supseteqq took 0
Updating Subset took 0
Updating Supset took 0
Updating sqsubset took 0
Updating sqsupset took 0
Updating preccurlyeq took 0
Updating succcurlyeq took 0
Updating curlyeqprec took 0
Updating curlyeqsucc took 0
Updating precsim took 0
Updating succsim took 0
Updating precapprox took 0
Updating succapprox took 0
Updating vartriangleleft took 0
Updating vartriangleright took 0
Updating trianglelefteq took 0
Updating trianglerighteq took 0
Updating bumpeq took 0
Updating Bumpeq took 0
Updating doteqdot took 0
Updating risingdotseq took 0
Updating fallingdotseq took 0
Updating vDash took 1
Updating Vvdash took 0
Updating Vdash took 0
Updating shortmid took 0
Updating shortparallel took 0
Updating smallsmile took 0
Updating smallfrown took 0
Updating blacktriangleleft took 0
Updating blacktriangleright took 0
Updating because took 0
Updating therefore took 0
Updating backepsilon took 0
Updating varpropto took 0
Updating between took 0
Updating pitchfork took 0
Updating nless took 0
Updating ngtr took 0
Updating nleq took 0
Updating ngeq took 0
Updating nleqslant took 0
Updating ngeqslant took 0
Updating nleqq took 0
Updating ngeqq took 0
Updating lneq took 0
Updating gneq took 0
Updating lneqq took 0
Updating gneqq took 0
Updating lvertneqq took 0
Updating gvertneqq took 0
Updating lnsim took 0
Updating gnsim took 0
Updating lnapprox took 0
Updating gnapprox took 0
Updating nprec took 0
Updating nsucc took 0
Updating npreceq took 0
Updating nsucceq took 0
Updating precnsim took 0
Updating succnsim took 0
Updating precnapprox took 0
Updating succnapprox took 0
Updating subsetneq took 0
Updating supsetneq took 0
Updating subsetneqq took 0
Updating supsetneqq took 0
Updating nsubseteq took 0
Updating nsupseteq took 0
Updating nsupseteqq took 0
Updating nvdash took 0
Updating nvDash took 0
Updating nVDash took 0
Updating varsubsetneq took 0
Updating varsupsetneq took 0
Updating varsubsetneqq took 0
Updating varsupsetneqq took 0
Updating ntriangleleft took 0
Updating ntriangleright took 0
Updating ntrianglelefteq took 0
Updating ntrianglerighteq took 0
Updating ncong took 0
Updating nsim took 0
Updating nmid took 0
Updating nshortmid took 0
Updating nparallel took 0
Updating nshortparallel took 1
Updating ldots took 0
Updating cdots took 0
Updating vdots took 0
Updating ddots took 0
Updating dotplus took 0
Updating smallsetminus took 0
Updating Cap took 0
Updating Cup took 0
Updating barwedge took 0
Updating veebar took 0
Updating doublebarwedge took 0
Updating boxminus took 0
Updating boxtimes took 0
Updating boxdot took 0
Updating boxplus took 0
Updating divideontimes took 0
Updating ltimes took 3
Updating rtimes took 0
Updating leftthreetimes took 0
Updating rightthreetimes took 0
Updating curlywedge took 1
Updating curlyvee took 0
Updating circleddash took 0
Updating circledast took 0
Updating circledcirc took 0
Updating centerdot took 0
Updating intercal took 0
Updating digamma took 0
Updating varkappa took 0
Updating beth took 0
Updating daleth took 0
Updating gimel took 0
Updating ulcorner took 0
Updating urcorner took 0
Updating llcorner took 0
Updating lrcorner took 0
Updating hbar took 0
Updating hslash took 0
Updating vartriangle took 0
Updating triangledown took 0
Updating square took 0
Updating lozenge took 0
Updating circledS took 0
Updating angle took 0
Updating measuredangle took 0
Updating nexists took 0
Updating mho took 0
Updating Finv took 0
Updating Game took 0
Updating Bbbk took 0
Updating backprime took 0
Updating varnothing took 0
Updating blacktriangle took 0
Updating blacktriangledown took 0
Updating blacksquare took 0
Updating blacklozenge took 0
Updating bigstar took 0
Updating sphericalangle took 0
Updating complement took 0
Updating eth took 0
Updating diagup took 0
Updating diagdown took 0
updated() took 0
Doing that one took 20
updated() took 0
Doing that one took 1
Updating Track changes took 0
Updating Show changes in output took 0
Updating Next change took 0
Updating Accept change took 0
Updating Reject change took 0
Updating Merge changes took 0
Updating Accept all changes took 0
Updating Reject all changes took 0
Updating Insert note took 0
Updating Next note took 0
updated() took 0
Doing that one took 0
Updating New document took 0
Updating Open document took 0
Updating Save document took 0
Updating Print document took 0
Updating Check spelling took 0
Updating Undo took 0
Updating Redo took 0
Updating Cut took 0
Updating Copy took 0
Updating Paste took 136
Updating Find and replace took 0
Updating Toggle emphasis took 0
Updating Toggle noun took 0
Updating Apply last took 0
Updating Insert math took 0
Updating Insert graphics took 0
Updating Toggle Outline took 1
Updating Toggle Math Toolbar took 0
Updating Toggle Table Toolbar took 0
updated() took 0
Doing that one took 137
Updating Add row took 0
Updating Add column took 0
Updating Delete row took 0
Updating Delete column took 0
Updating Set top line took 0
Updating Set bottom line took 0
Updating Set left line took 0
Updating Set right line took 0
Updating Set all lines took 0
Updating Unset all lines took 0
Updating Align left took 0
Updating Align center took 0
Updating Align right took 0
Updating Align top took 0
Updating Align middle took 0
Updating Align bottom took 0
Updating Rotate cell took 0
Updating Rotate table took 0
Updating Set multi-column took 0
updated() took 0
Doing that one took 0
Updating View DVI took 0
Updating Update DVI took 0
Updating View PDF (pdflatex) took 0
Updating Update PDF (pdflatex) took 0
Updating View PostScript took 0
Updating Update PostScript took 0
updated() took 0
Doing that one took 0
toolbars_->update() took 162ms
--
==================================================================
Richard G Heck, Jr
Professor of Philosophy
Brown University
http://frege.brown.edu/heck/
==================================================================
Get my public key from http://sks.keyserver.penguin.de
Hash: 0x1DE91F1E66FFBDEC
Learn how to sign your email using Thunderbird and GnuPG at:
http://dudu.dyn.2-h.org/nist/gpg-enigmail-howto