Re: Scrolling performance, qt3 vs. qt4, revision 13787

2006-05-04 Thread Georg Baum
Abdelrazak Younes wrote:

 The way I am using QPixmap and QImage is probably not very optimal on
 X11 when the server and the client is on the same machine but it should
 be very efficient when they are not.

I don't think so. AFAIK the X server and client can use shared memory when
running on the same machine. If qt is clever enough it should be able to
use this feature, so there should not be any performance penalty.


Georg



Re: Scrolling performance, qt3 vs. qt4, revision 13787

2006-05-04 Thread Abdelrazak Younes

Georg Baum a écrit :

Abdelrazak Younes wrote:


The way I am using QPixmap and QImage is probably not very optimal on
X11 when the server and the client is on the same machine but it should
be very efficient when they are not.


I don't think so. AFAIK the X server and client can use shared memory when
running on the same machine. If qt is clever enough it should be able to
use this feature, so there should not be any performance penalty.


Maybe, as Jean-Marc said we need some profiling on linux.

Abdel.



Re: Scrolling performance, qt3 vs. qt4, revision 13787

2006-05-04 Thread Georg Baum
Abdelrazak Younes wrote:

> The way I am using QPixmap and QImage is probably not very optimal on
> X11 when the server and the client is on the same machine but it should
> be very efficient when they are not.

I don't think so. AFAIK the X server and client can use shared memory when
running on the same machine. If qt is clever enough it should be able to
use this feature, so there should not be any performance penalty.


Georg



Re: Scrolling performance, qt3 vs. qt4, revision 13787

2006-05-04 Thread Abdelrazak Younes

Georg Baum a écrit :

Abdelrazak Younes wrote:


The way I am using QPixmap and QImage is probably not very optimal on
X11 when the server and the client is on the same machine but it should
be very efficient when they are not.


I don't think so. AFAIK the X server and client can use shared memory when
running on the same machine. If qt is clever enough it should be able to
use this feature, so there should not be any performance penalty.


Maybe, as Jean-Marc said we need some profiling on linux.

Abdel.



Scrolling performance, qt3 vs. qt4, revision 13787

2006-05-03 Thread Helge Hafting

I was asked to redo my test with a newer lyx 1.5, now
I have finally done it:

Small test of lyx qt3 and lyx qt4 revision 13787

Both executables use the same config and display.
Both apps have the exact same window size in pixels, and the main
windows happened to have the same sizes too.

First impressions:
qt3 displays icons at their designed size, qt4 squashes them somewhat 
smaller.

The menu font in qt4 is also smaller. qt4 achieves nothing positive with
the smaller icons - there is simply more space between them.
Both frontends use antialiasing in the
main window, I think qt4 overdoes this - the text seems a little blurry
compared to the qt3 window.  I have not tried to change
any kind of settings for qt4.
Timing with a stopwatch, cpu load estimated by looking at the
cpu load graph in icewm.

Load the userguide.
Timed scroll to the bottom with down arrow (freshly loaded document)
qt3: 2 minutes,  8 seconds.  Cpu load below 20%
qt4: 3 minutes, 52 seconds.  Cpu load above 80%

qt4: 1.8x more time, 7.25x cpu time


qt3 was snappy and seemed to be limited mostly by the keyboard repeat rate
in this test.
qt4 was noticeably sluggish, making a little pause each time the
cursor got to the bottom of the page before the page jump-scrolled.
Moving through tables was noticeably slower, with 100% cpu load spikes
and a noticeably slower cursor.

Scroll up again using page up:
qt3: 12 seconds, 90% cpu load
qt4: 1 minute, 38 seconds, 100% cpu load.

qt4 is hopeless here, 8x the time, 9x the cpu time

Scroll down again, this time by holding mouse button 1 down
in the lower part of the scrollbar. (Not the little arrow,
I went for the fast jump scrolling.)

qt3: 36 seconds   60% cpu load
qt4: 2 minutes 11 seconds, 100% cpu load

qt4: 3.6x the time, 6x the cpu time.  


The perceived slowness of qt4 varies a lot, but factor in the cpu load
and we see that lyx-qt4 does 6-9 times more work to achieve the same.
qt3 seems snappy because it is usually not cpu-limited.  The speed
depends on keyboard and mouse repeat rate, as it should.

Now, qt4 doesn't actually seem to paint the screen slowly, the delay
always seems to be between window redraws.  This suggest that lyx-qt4
either use worse algorithms, or that some qt4 non-drawing calls are
much slower than the qt3 counterparts. Such as figuring out lengths of
textstrings, perhaps.

Both qt3 and qt4 seemed to display things correctly all the time, and
ended up looking the same after each test.  qt4 is so slow on linux that
I'll give up using it for a while.  The test machine was a 2.4GHz pentium4.

Helge Hafting


Re: Scrolling performance, qt3 vs. qt4, revision 13787

2006-05-03 Thread Martin Vermeer
On Wed, 2006-05-03 at 09:56 +0200, Helge Hafting wrote:
 I was asked to redo my test with a newer lyx 1.5, now
 I have finally done it:
 
 Small test of lyx qt3 and lyx qt4 revision 13787
 
 Both executables use the same config and display.
 Both apps have the exact same window size in pixels, and the main
 windows happened to have the same sizes too.

...

 The perceived slowness of qt4 varies a lot, but factor in the cpu load
 and we see that lyx-qt4 does 6-9 times more work to achieve the same.
 qt3 seems snappy because it is usually not cpu-limited.  The speed
 depends on keyboard and mouse repeat rate, as it should.
 
 Now, qt4 doesn't actually seem to paint the screen slowly, the delay
 always seems to be between window redraws.  This suggest that lyx-qt4
 either use worse algorithms, or that some qt4 non-drawing calls are
 much slower than the qt3 counterparts. Such as figuring out lengths of
 textstrings, perhaps.

Or character widths... LyX does a lot of that. Profiling would tell.

- Martin



signature.asc
Description: This is a digitally signed message part


Re: Scrolling performance, qt3 vs. qt4, revision 13787

2006-05-03 Thread Jean-Marc Lasgouttes
 Martin == Martin Vermeer [EMAIL PROTECTED] writes:

Martin Or character widths... LyX does a lot of that. Profiling would
Martin tell.

Yes! Profiling! Profiling!

We really need that. Preferably with oprofile (or sysprof, but only if
pissing John L off does not scare you).

JMarc


Re: Scrolling performance, qt3 vs. qt4, revision 13787

2006-05-03 Thread Abdelrazak Younes

Helge Hafting a écrit :

I was asked to redo my test with a newer lyx 1.5, now
I have finally done it:

Small test of lyx qt3 and lyx qt4 revision 13787

Both executables use the same config and display.
Both apps have the exact same window size in pixels, and the main
windows happened to have the same sizes too.


Thanks for the report Hedge, as I said in a previous mail I disabled the 
keyboard buffering in the qt4 port and I think this has a big impact on 
scrolling performance. I've done that so that we can optimise the 
drawing routine. I'll send a patch soon that re-enable the buffering so 
that you can test again.
The way I am using QPixmap and QImage is probably not very optimal on 
X11 when the server and the client is on the same machine but it should 
be very efficient when they are not.


Thanks,
Abdel.



First impressions:
qt3 displays icons at their designed size, qt4 squashes them somewhat 
smaller.

The menu font in qt4 is also smaller. qt4 achieves nothing positive with
the smaller icons - there is simply more space between them.
Both frontends use antialiasing in the
main window, I think qt4 overdoes this - the text seems a little blurry
compared to the qt3 window.  I have not tried to change
any kind of settings for qt4.
Timing with a stopwatch, cpu load estimated by looking at the
cpu load graph in icewm.

Load the userguide.
Timed scroll to the bottom with down arrow (freshly loaded document)
qt3: 2 minutes,  8 seconds.  Cpu load below 20%
qt4: 3 minutes, 52 seconds.  Cpu load above 80%

qt4: 1.8x more time, 7.25x cpu time


qt3 was snappy and seemed to be limited mostly by the keyboard repeat rate
in this test.
qt4 was noticeably sluggish, making a little pause each time the
cursor got to the bottom of the page before the page jump-scrolled.
Moving through tables was noticeably slower, with 100% cpu load spikes
and a noticeably slower cursor.

Scroll up again using page up:
qt3: 12 seconds, 90% cpu load
qt4: 1 minute, 38 seconds, 100% cpu load.

qt4 is hopeless here, 8x the time, 9x the cpu time

Scroll down again, this time by holding mouse button 1 down
in the lower part of the scrollbar. (Not the little arrow,
I went for the fast jump scrolling.)

qt3: 36 seconds   60% cpu load
qt4: 2 minutes 11 seconds, 100% cpu load

qt4: 3.6x the time, 6x the cpu time. 
The perceived slowness of qt4 varies a lot, but factor in the cpu load

and we see that lyx-qt4 does 6-9 times more work to achieve the same.
qt3 seems snappy because it is usually not cpu-limited.  The speed
depends on keyboard and mouse repeat rate, as it should.

Now, qt4 doesn't actually seem to paint the screen slowly, the delay
always seems to be between window redraws.  This suggest that lyx-qt4
either use worse algorithms, or that some qt4 non-drawing calls are
much slower than the qt3 counterparts. Such as figuring out lengths of
textstrings, perhaps.

Both qt3 and qt4 seemed to display things correctly all the time, and
ended up looking the same after each test.  qt4 is so slow on linux that
I'll give up using it for a while.  The test machine was a 2.4GHz pentium4.

Helge Hafting





Scrolling performance, qt3 vs. qt4, revision 13787

2006-05-03 Thread Helge Hafting

I was asked to redo my test with a newer lyx 1.5, now
I have finally done it:

Small test of lyx qt3 and lyx qt4 revision 13787

Both executables use the same config and display.
Both apps have the exact same window size in pixels, and the main
windows happened to have the same sizes too.

First impressions:
qt3 displays icons at their designed size, qt4 squashes them somewhat 
smaller.

The menu font in qt4 is also smaller. qt4 achieves nothing positive with
the smaller icons - there is simply more space between them.
Both frontends use antialiasing in the
main window, I think qt4 overdoes this - the text seems a little blurry
compared to the qt3 window.  I have not tried to change
any kind of settings for qt4.
Timing with a stopwatch, cpu load estimated by looking at the
cpu load graph in icewm.

Load the userguide.
Timed scroll to the bottom with down arrow (freshly loaded document)
qt3: 2 minutes,  8 seconds.  Cpu load below 20%
qt4: 3 minutes, 52 seconds.  Cpu load above 80%

qt4: 1.8x more time, 7.25x cpu time


qt3 was snappy and seemed to be limited mostly by the keyboard repeat rate
in this test.
qt4 was noticeably sluggish, making a little pause each time the
cursor got to the bottom of the page before the page jump-scrolled.
Moving through tables was noticeably slower, with 100% cpu load spikes
and a noticeably slower cursor.

Scroll up again using page up:
qt3: 12 seconds, 90% cpu load
qt4: 1 minute, 38 seconds, 100% cpu load.

qt4 is hopeless here, 8x the time, 9x the cpu time

Scroll down again, this time by holding mouse button 1 down
in the lower part of the scrollbar. (Not the little arrow,
I went for the fast jump scrolling.)

qt3: 36 seconds   60% cpu load
qt4: 2 minutes 11 seconds, 100% cpu load

qt4: 3.6x the time, 6x the cpu time.  


The perceived slowness of qt4 varies a lot, but factor in the cpu load
and we see that lyx-qt4 does 6-9 times more work to achieve the same.
qt3 seems snappy because it is usually not cpu-limited.  The speed
depends on keyboard and mouse repeat rate, as it should.

Now, qt4 doesn't actually seem to paint the screen slowly, the delay
always seems to be between window redraws.  This suggest that lyx-qt4
either use worse algorithms, or that some qt4 non-drawing calls are
much slower than the qt3 counterparts. Such as figuring out lengths of
textstrings, perhaps.

Both qt3 and qt4 seemed to display things correctly all the time, and
ended up looking the same after each test.  qt4 is so slow on linux that
I'll give up using it for a while.  The test machine was a 2.4GHz pentium4.

Helge Hafting


Re: Scrolling performance, qt3 vs. qt4, revision 13787

2006-05-03 Thread Martin Vermeer
On Wed, 2006-05-03 at 09:56 +0200, Helge Hafting wrote:
> I was asked to redo my test with a newer lyx 1.5, now
> I have finally done it:
> 
> Small test of lyx qt3 and lyx qt4 revision 13787
> 
> Both executables use the same config and display.
> Both apps have the exact same window size in pixels, and the main
> windows happened to have the same sizes too.

...

> The perceived slowness of qt4 varies a lot, but factor in the cpu load
> and we see that lyx-qt4 does 6-9 times more work to achieve the same.
> qt3 seems snappy because it is usually not cpu-limited.  The speed
> depends on keyboard and mouse repeat rate, as it should.
> 
> Now, qt4 doesn't actually seem to paint the screen slowly, the delay
> always seems to be between window redraws.  This suggest that lyx-qt4
> either use worse algorithms, or that some qt4 non-drawing calls are
> much slower than the qt3 counterparts. Such as figuring out lengths of
> textstrings, perhaps.

Or character widths... LyX does a lot of that. Profiling would tell.

- Martin



signature.asc
Description: This is a digitally signed message part


Re: Scrolling performance, qt3 vs. qt4, revision 13787

2006-05-03 Thread Jean-Marc Lasgouttes
> "Martin" == Martin Vermeer <[EMAIL PROTECTED]> writes:

Martin> Or character widths... LyX does a lot of that. Profiling would
Martin> tell.

Yes! Profiling! Profiling!

We really need that. Preferably with oprofile (or sysprof, but only if
pissing John L off does not scare you).

JMarc


Re: Scrolling performance, qt3 vs. qt4, revision 13787

2006-05-03 Thread Abdelrazak Younes

Helge Hafting a écrit :

I was asked to redo my test with a newer lyx 1.5, now
I have finally done it:

Small test of lyx qt3 and lyx qt4 revision 13787

Both executables use the same config and display.
Both apps have the exact same window size in pixels, and the main
windows happened to have the same sizes too.


Thanks for the report Hedge, as I said in a previous mail I disabled the 
keyboard buffering in the qt4 port and I think this has a big impact on 
scrolling performance. I've done that so that we can optimise the 
drawing routine. I'll send a patch soon that re-enable the buffering so 
that you can test again.
The way I am using QPixmap and QImage is probably not very optimal on 
X11 when the server and the client is on the same machine but it should 
be very efficient when they are not.


Thanks,
Abdel.



First impressions:
qt3 displays icons at their designed size, qt4 squashes them somewhat 
smaller.

The menu font in qt4 is also smaller. qt4 achieves nothing positive with
the smaller icons - there is simply more space between them.
Both frontends use antialiasing in the
main window, I think qt4 overdoes this - the text seems a little blurry
compared to the qt3 window.  I have not tried to change
any kind of settings for qt4.
Timing with a stopwatch, cpu load estimated by looking at the
cpu load graph in icewm.

Load the userguide.
Timed scroll to the bottom with down arrow (freshly loaded document)
qt3: 2 minutes,  8 seconds.  Cpu load below 20%
qt4: 3 minutes, 52 seconds.  Cpu load above 80%

qt4: 1.8x more time, 7.25x cpu time


qt3 was snappy and seemed to be limited mostly by the keyboard repeat rate
in this test.
qt4 was noticeably sluggish, making a little pause each time the
cursor got to the bottom of the page before the page jump-scrolled.
Moving through tables was noticeably slower, with 100% cpu load spikes
and a noticeably slower cursor.

Scroll up again using page up:
qt3: 12 seconds, 90% cpu load
qt4: 1 minute, 38 seconds, 100% cpu load.

qt4 is hopeless here, 8x the time, 9x the cpu time

Scroll down again, this time by holding mouse button 1 down
in the lower part of the scrollbar. (Not the little arrow,
I went for the fast jump scrolling.)

qt3: 36 seconds   60% cpu load
qt4: 2 minutes 11 seconds, 100% cpu load

qt4: 3.6x the time, 6x the cpu time. 
The perceived slowness of qt4 varies a lot, but factor in the cpu load

and we see that lyx-qt4 does 6-9 times more work to achieve the same.
qt3 seems snappy because it is usually not cpu-limited.  The speed
depends on keyboard and mouse repeat rate, as it should.

Now, qt4 doesn't actually seem to paint the screen slowly, the delay
always seems to be between window redraws.  This suggest that lyx-qt4
either use worse algorithms, or that some qt4 non-drawing calls are
much slower than the qt3 counterparts. Such as figuring out lengths of
textstrings, perhaps.

Both qt3 and qt4 seemed to display things correctly all the time, and
ended up looking the same after each test.  qt4 is so slow on linux that
I'll give up using it for a while.  The test machine was a 2.4GHz pentium4.

Helge Hafting