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

Reply via email to