Re: Scrolling performance, qt3 vs. qt4, revision 13787
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
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
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
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
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
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
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
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
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
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
> "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
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