Re: Profiling LyX-140 on Mac

2005-05-11 Thread Martin Vermeer
On Wed, 2005-05-11 at 16:36, Bennett Helm wrote: > On May 11, 2005, at 6:55 AM, Jean-Marc Lasgouttes wrote: > > > It would be interesting to know how things have evolved since Martin's > > latest patch. > > Here you go -- profile attached, done the same way as my previous > report: tree view,

Re: Profiling LyX-140 on Mac

2005-05-11 Thread Lars Gullik Bjønnes
Jean-Marc Lasgouttes <[EMAIL PROTECTED]> writes: | Bennett> Thus, if I type "1234" quickly (but slowly enough to be sure | Bennett> I'm typing them in that order!), I actually get "1342" or | Bennett> "1432" in the document. Similarly, typing "The last time I | Bennett> tested lyx" results in

Re: Profiling LyX-140 on Mac

2005-05-11 Thread John Levon
On Wed, May 11, 2005 at 04:58:47PM +0300, Martin Vermeer wrote: > Does anyone have an idea how the input order reversal could come about? > Again, are there any guarantees that the X queue gives events back in > time order? I believe there is not, but Qt should be dealing with that for us by

Re: Profiling LyX-140 on Mac

2005-05-11 Thread Jean-Marc Lasgouttes
> "Martin" == Martin Vermeer <[EMAIL PROTECTED]> writes: Martin> Does anyone have an idea how the input order reversal could Martin> come about? Again, are there any guarantees that the X queue Martin> gives events back in time order? I do not know many X apps that share this entertaining

Re: Profiling LyX-140 on Mac

2005-05-11 Thread Lars Gullik Bjønnes
Martin Vermeer <[EMAIL PROTECTED]> writes: | Oops, that's bad. Could this be due to calling sync_events twice during | a cursor blink sequence? (both in showCursor and in hideCursor.) I did | that to make LyX snappier ;-/ Hmm... this shouldn't be needed to make LyX snappier... | Alternatively,

Re: Profiling LyX-140 on Mac

2005-05-11 Thread Martin Vermeer
On Wed, 2005-05-11 at 17:02, Lars Gullik BjÃnnes wrote: > Jean-Marc Lasgouttes <[EMAIL PROTECTED]> writes: > > | Bennett> Thus, if I type "1234" quickly (but slowly enough to be sure > | Bennett> I'm typing them in that order!), I actually get "1342" or > | Bennett> "1432" in the document.

Re: Profiling LyX-140 on Mac

2005-05-11 Thread Asger Alstrup
Martin Vermeer wrote: On Wed, 2005-05-11 at 17:02, Lars Gullik BjÃnnes wrote: How can events be reordered? Precisely my question. Did you check that your keyboard queue is really a queue, and not a stack? Regards, Asger

Re: Profiling LyX-140 on Mac

2005-05-11 Thread Martin Vermeer
On Wed, 2005-05-11 at 17:41, Asger Alstrup wrote: > Martin Vermeer wrote: > > On Wed, 2005-05-11 at 17:02, Lars Gullik BjÃnnes wrote: > > > >>How can events be reordered? > > > > Precisely my question. > > Did you check that your keyboard queue is really a queue, and not a stack? There is no

Re: Profiling LyX-140 on Mac

2005-05-11 Thread Jean-Marc Lasgouttes
> "Martin" == Martin Vermeer <[EMAIL PROTECTED]> writes: Martin> Does anyone have an idea how the input order reversal could Martin> come about? Again, are there any guarantees that the X queue Martin> gives events back in time order? Maybe something like: 1/ an event arrives 2/

Re: Profiling LyX-140 on Mac

2005-05-11 Thread Martin Vermeer
On Wed, 2005-05-11 at 17:33, Lars Gullik BjÃnnes wrote: > Martin Vermeer <[EMAIL PROTECTED]> writes: > > | Oops, that's bad. Could this be due to calling sync_events twice during > | a cursor blink sequence? (both in showCursor and in hideCursor.) I did > | that to make LyX snappier ;-/ > >

Re: Profiling LyX-140 on Mac

2005-05-11 Thread John Levon
On Wed, May 11, 2005 at 06:12:53PM +0300, Martin Vermeer wrote: > What came back was the original problem why sync_events was introduced: > when scrolling fast in big documents (PageDown) the screen update > doesn't keep up. > > - // You are not expected to understand this. This forces Qt

Re: Profiling LyX-140 on Mac

2005-05-11 Thread Angus Leeming
John Levon wrote: > On Wed, May 11, 2005 at 06:12:53PM +0300, Martin Vermeer wrote: > >> What came back was the original problem why sync_events was introduced: >> when scrolling fast in big documents (PageDown) the screen update >> doesn't keep up. >> >> - // You are not expected to

Re: Profiling LyX-140 on Mac

2005-05-11 Thread Jean-Marc Lasgouttes
> "Angus" == Angus Leeming <[EMAIL PROTECTED]> writes: Angus> H. Rather than process all pending draw events fully, is it Angus> sufficient to process the last draw event and discard the Angus> earlier ones? Ie, we should be computing the metrics() on each Angus> page-down, but we should

Re: Profiling LyX-140 on Mac

2005-05-11 Thread Martin Vermeer
On Wed, 2005-05-11 at 18:05, Jean-Marc Lasgouttes wrote: ... > What about using something like > > qApp->eventLoop()->processEvents(QEventLoop::ExcludeUserInput); > > It looks to me as the right answer (do the drawing, not the use input) > > JMarc Jean-Marc, you're a gem! It works precisely

Re: Profiling LyX-140 on Mac

2005-05-11 Thread John Levon
On Wed, May 11, 2005 at 05:05:47PM +0200, Jean-Marc Lasgouttes wrote: > qApp->eventLoop()->processEvents(QEventLoop::ExcludeUserInput); When was this flag introduced to Qt? john

Re: Profiling LyX-140 on Mac

2005-05-11 Thread Lars Gullik Bjønnes
John Levon <[EMAIL PROTECTED]> writes: | On Wed, May 11, 2005 at 06:12:53PM +0300, Martin Vermeer wrote: > >> What came back was the original problem why sync_events was introduced: >> when scrolling fast in big documents (PageDown) the screen update >> doesn't keep up. >> >> - // You are

Re: Profiling LyX-140 on Mac

2005-05-11 Thread John Levon
On Wed, May 11, 2005 at 04:28:02PM +0100, Angus Leeming wrote: > H. Rather than process all pending draw events fully, is it sufficient > to process the last draw event and discard the earlier ones? Ie, we should > be computing the metrics() on each page-down, but we should draw() only if

Re: Profiling LyX-140 on Mac

2005-05-11 Thread John Levon
On Wed, May 11, 2005 at 04:57:11PM +0100, John Levon wrote: > On Wed, May 11, 2005 at 05:05:47PM +0200, Jean-Marc Lasgouttes wrote: > > > qApp->eventLoop()->processEvents(QEventLoop::ExcludeUserInput); > > When was this flag introduced to Qt? Has to be said that I don't see any of the problems

Re: Profiling LyX-140 on Mac

2005-05-11 Thread Martin Vermeer
On Wed, 2005-05-11 at 18:57, John Levon wrote: > On Wed, May 11, 2005 at 05:05:47PM +0200, Jean-Marc Lasgouttes wrote: > > > qApp->eventLoop()->processEvents(QEventLoop::ExcludeUserInput); > > When was this flag introduced to Qt? 3.1. - Martin signature.asc Description: This is a digitally

Re: Profiling LyX-140 on Mac

2005-05-11 Thread John Levon
On Wed, May 11, 2005 at 05:07:28PM +0100, John Levon wrote: > Has to be said that I don't see any of the problems about drawing > with current CVS... But I do see the keypress re-ordering. john

Re: Profiling LyX-140 on Mac

2005-05-11 Thread John Levon
On Wed, May 11, 2005 at 07:07:26PM +0300, Martin Vermeer wrote: > > When was this flag introduced to Qt? > > 3.1. OK, then we need to make that the minimum Qt version we support, finally. Pity about Qt/Win Free or whatever it was but there's not much we can do otherwise. regards john

Re: Profiling LyX-140 on Mac

2005-05-11 Thread Jean-Marc Lasgouttes
> "John" == John Levon <[EMAIL PROTECTED]> writes: John> On Wed, May 11, 2005 at 05:05:47PM +0200, Jean-Marc Lasgouttes John> wrote: qApp-> eventLoop()->processEvents(QEventLoop::ExcludeUserInput); John> When was this flag introduced to Qt? Good question. It seems that it is Qt 3.1.

Re: Profiling LyX-140 on Mac

2005-05-11 Thread Angus Leeming
John Levon wrote: > On Wed, May 11, 2005 at 05:05:47PM +0200, Jean-Marc Lasgouttes wrote: > >> qApp->eventLoop()->processEvents(QEventLoop::ExcludeUserInput); > > When was this flag introduced to Qt? > > john There's a QEventLoop in Qt 3.1 (released November 13 2002).

Re: Profiling LyX-140 on Mac

2005-05-11 Thread Jean-Marc Lasgouttes
> "Martin" == Martin Vermeer <[EMAIL PROTECTED]> writes: Martin> Patch attached. Please commit, this is your baby. Feel free to do it, I am busy now. I guess you should guard it with #if QTVERSION >= 0x030100 so that older qt will "only" suffer from drawing glitches. JMarc

Re: Profiling LyX-140 on Mac

2005-05-11 Thread John Levon
On Wed, May 11, 2005 at 07:44:30PM +0200, Jean-Marc Lasgouttes wrote: > Martin> Patch attached. Please commit, this is your baby. > > Feel free to do it, I am busy now. I guess you should guard it with > #if QTVERSION >= 0x030100 > so that older qt will "only" suffer from drawing glitches.

Re: Profiling LyX-140 on Mac

2005-05-11 Thread Lars Gullik Bjønnes
John Levon <[EMAIL PROTECTED]> writes: | On Wed, May 11, 2005 at 07:44:30PM +0200, Jean-Marc Lasgouttes wrote: > >> Martin> Patch attached. Please commit, this is your baby. >> >> Feel free to do it, I am busy now. I guess you should guard it with >> #if QTVERSION >= 0x030100 >> so that older

Re: Profiling LyX-140 on Mac

2005-05-11 Thread John Levon
On Wed, May 11, 2005 at 10:34:37PM +0300, Martin Vermeer wrote: > I think Jean-Marc wants to eliminate processEvents altogether for older > Qt. Then we will "only" suffer the drawing glitches that you objected so > vehemently against. I think a reasonable Faustian deal against forcing > people

Re: Profiling LyX-140 on Mac

2005-05-11 Thread Martin Vermeer
On Wed, May 11, 2005 at 07:44:30PM +0200, Jean-Marc Lasgouttes wrote: > > "Martin" == Martin Vermeer <[EMAIL PROTECTED]> writes: > > Martin> Patch attached. Please commit, this is your baby. > > Feel free to do it, I am busy now. I guess you should guard it with > #if QTVERSION >= 0x030100

Re: Profiling LyX-140 on Mac

2005-04-08 Thread Jean-Marc Lasgouttes
Andreas == Andreas Vox [EMAIL PROTECTED] writes: Andreas Hi! I just remembered that this all started with enabling Andreas font caching or not... Andreas Here's what Qt/Aqua does in drawText(). If it does any Andreas caching it doesn't help much... No, what we do in LyX is font width caching,

Re: Profiling LyX-140 on Mac

2005-04-08 Thread Jean-Marc Lasgouttes
Andreas == Andreas Vox [EMAIL PROTECTED] writes: Andreas Am 07.04.2005 um 17:58 schrieb Jean-Marc Lasgouttes: Andreas == Andreas Vox [EMAIL PROTECTED] writes: Andreas I also did some profiling and got the attached screenshot Andreas when scrolling down using PageDown. Do I really see 38% in

Re: Profiling LyX-140 on Mac

2005-04-08 Thread Jean-Marc Lasgouttes
> "Andreas" == Andreas Vox <[EMAIL PROTECTED]> writes: Andreas> Hi! I just remembered that this all started with enabling Andreas> font caching or not... Andreas> Here's what Qt/Aqua does in drawText(). If it does any Andreas> caching it doesn't help much... No, what we do in LyX is font

Re: Profiling LyX-140 on Mac

2005-04-08 Thread Jean-Marc Lasgouttes
> "Andreas" == Andreas Vox <[EMAIL PROTECTED]> writes: Andreas> Am 07.04.2005 um 17:58 schrieb Jean-Marc Lasgouttes: >>> "Andreas" == Andreas Vox <[EMAIL PROTECTED]> writes: >> Andreas> I also did some profiling and got the attached screenshot Andreas> when scrolling down using PageDown.

Re: Profiling LyX-140 on Mac

2005-04-07 Thread Bennett Helm
On Apr 6, 2005, at 11:21 AM, Jean-Marc Lasgouttes wrote: Good. Did you compile LyX with debug information? I cannot see any reference to any LyX function... Oops. I guess that would help. (Second attempt below, this time confined to LyX and with all samples =0.1.) Do you know why there are 2

Re: Profiling LyX-140 on Mac

2005-04-07 Thread Jean-Marc Lasgouttes
Bennett == Bennett Helm [EMAIL PROTECTED] writes: Bennett (Note that the version of Shark I'm using is slightly updated Bennett from the version described on the webpage, so screenshots Bennett there don't exactly match what I see.) I found another article about shark 4:

Re: Profiling LyX-140 on Mac

2005-04-07 Thread Jean-Marc Lasgouttes
Andreas == Andreas Vox [EMAIL PROTECTED] writes: Andreas I also did some profiling and got the attached screenshot Andreas when scrolling down using PageDown. Do I really see 38% in showCursor? This is very weird... JMarc

Re: Profiling LyX-140 on Mac

2005-04-07 Thread Andreas Vox
Am 07.04.2005 um 17:58 schrieb Jean-Marc Lasgouttes: Andreas == Andreas Vox [EMAIL PROTECTED] writes: Andreas I also did some profiling and got the attached screenshot Andreas when scrolling down using PageDown. Do I really see 38% in showCursor? This is very weird... Not really. sync_events() is

Re: Profiling LyX-140 on Mac

2005-04-07 Thread Bennett Helm
On Apr 6, 2005, at 11:21 AM, Jean-Marc Lasgouttes wrote: Good. Did you compile LyX with debug information? I cannot see any reference to any LyX function... Oops. I guess that would help. (Second attempt below, this time confined to LyX and with all samples >=0.1.) Do you know why there are 2

Re: Profiling LyX-140 on Mac

2005-04-07 Thread Jean-Marc Lasgouttes
> "Bennett" == Bennett Helm <[EMAIL PROTECTED]> writes: Bennett> (Note that the version of Shark I'm using is slightly updated Bennett> from the version described on the webpage, so screenshots Bennett> there don't exactly match what I see.) I found another article about shark 4:

Re: Profiling LyX-140 on Mac

2005-04-07 Thread Jean-Marc Lasgouttes
> "Andreas" == Andreas Vox <[EMAIL PROTECTED]> writes: Andreas> I also did some profiling and got the attached screenshot Andreas> when scrolling down using PageDown. Do I really see 38% in showCursor? This is very weird... JMarc

Re: Profiling LyX-140 on Mac

2005-04-07 Thread Andreas Vox
Am 07.04.2005 um 17:58 schrieb Jean-Marc Lasgouttes: "Andreas" == Andreas Vox <[EMAIL PROTECTED]> writes: Andreas> I also did some profiling and got the attached screenshot Andreas> when scrolling down using PageDown. Do I really see 38% in showCursor? This is very weird... Not really.

Profiling LyX-140 on Mac

2005-04-06 Thread Bennett Helm
Here is my first attempt to profile LyX-140 on Mac -- without really knowing what I'm doing or what language to use in describing it. I quit all applications other than Shark and LyX-140, and ran a time profile on all processes for 30 seconds (LyX represented 88.7% of the total). During

Re: Profiling LyX-140 on Mac

2005-04-06 Thread John Levon
On Wed, Apr 06, 2005 at 11:05:05AM -0400, Bennett Helm wrote: I quit all applications other than Shark and LyX-140, and ran a time profile on all processes for 30 seconds (LyX represented 88.7% of the Can you do it just for LyX? The output doesn't seem to have anything useful (and it's way

Re: Profiling LyX-140 on Mac

2005-04-06 Thread Jean-Marc Lasgouttes
Bennett == Bennett Helm [EMAIL PROTECTED] writes: Bennett I quit all applications other than Shark and LyX-140, and ran Bennett a time profile on all processes for 30 seconds (LyX Bennett represented 88.7% of the total). During that time, I typed Bennett into a long-ish document in LyX. Good.

Profiling LyX-140 on Mac

2005-04-06 Thread Bennett Helm
Here is my first attempt to profile LyX-140 on Mac -- without really knowing what I'm doing or what language to use in describing it. I quit all applications other than Shark and LyX-140, and ran a time profile on all processes for 30 seconds (LyX represented 88.7% of the total). During

Re: Profiling LyX-140 on Mac

2005-04-06 Thread John Levon
On Wed, Apr 06, 2005 at 11:05:05AM -0400, Bennett Helm wrote: > I quit all applications other than Shark and LyX-140, and ran a time > profile on all processes for 30 seconds (LyX represented 88.7% of the Can you do it just for LyX? The output doesn't seem to have anything useful (and it's

Re: Profiling LyX-140 on Mac

2005-04-06 Thread Jean-Marc Lasgouttes
> "Bennett" == Bennett Helm <[EMAIL PROTECTED]> writes: Bennett> I quit all applications other than Shark and LyX-140, and ran Bennett> a time profile on all processes for 30 seconds (LyX Bennett> represented 88.7% of the total). During that time, I typed Bennett> into a long-ish document in

<    1   2