Hi everyone!
This week I've been playing with DraftSight both on Linux and on Windows.
DraftSight is a Qt4 CAD drawing program that is very similar to AutoCad
and it is available for free both for Windows and for Linux.
I used DraftSight for many months on Linux on my Core 2 Duo with 2gb of
RAM computer and it is sluggish. Each time that I select a part of the
drawing to modify an attribute there is a 5-10 second delay before the
program unfreeze.
On my Windows-only laptop that I use mainly for running industrial
automation software, I have installed DraftSight this week. This laptop is
an old IBM ThinkPad A31p with a 1.7GHz Pentium 4 cpu and 512mb of RAM. It
runs Windows XP. On this laptop, DraftSight runs perfectly well and there
is no delay when I click on a part of a drawing, even if it is a much
slower computer and the general performance of DraftSight is much better
on Windows.
Is there a reason why I see such a big difference between this Qt4 program
on Linux and on Windows? Does the difference is because of Qt4 or it could
be because DraftSight has not been ported as well as it could be?
Qt3 has a very high performance and on a slow computer, it is even faster
than GTK2. The UI element are drawn faster than almost every other GUI
toolkits. Why does QT4 still suffer from these performance issues?
Have an happy spring break!
-Alexandre
My general understanding is that Linux has become something of a
second-class citizen with Qt4/Qt5; rather than optimising the graphics
code for X11 as Qt3 did, it uses the CPU to draw all elements, then only
uses the graphics card for certain 3D operations and transformations.
While I don't have all the links handy right now, a quick Google search
turned up these related links:
https://bugreports.qt-project.org/browse/QTBUG-19636?focusedCommentId=17770…
http://phoronix.com/forums/showthread.php?73736-Qt5-s-Linux-Requirements-Ca…
This may change in Qt5, but would then rely heavily on powerful, non-free
graphics hardware to function (scenegraph backend). As another ancdotal
datapoint, I have noticed that Qt4-based applications have always been
significantly slower than equivalent Qt3 applications. Note that
"equivalent" in this case means displaying a similar number of on-screen
widgets; many Qt4 applications have had so much functionality stripped out
and/or hidden behind a bulky "touch" interface that direct comparisons are
quite difficult.
Between the noted performance problems and the fact that the Qt project
seems to be completely unable to resolve several bug reports related to
incorrect graphics primitive drawing (for example,
https://bugreports.qt-project.org/browse/QTBUG-25896), it would appear
that the TDE project's decision to stick with Qt3 was the correct
decision.
Tim