[Solved] Moving to Production from qmlviewer. Why am I so slow?
-
We are starting our production code, and writing our own viewer (previously we have been using qmlviewer).
However, our code is running at about 1/2 the performance of qmlviewer. Note this is Qt 4.7.1.
QMLVIEWER EXECUTION (This is fast)
@
qmlviewer -fullscreen -frameless main.qml
@OUR CODE (This is slow)
main.cpp
@
#include <QApplication>
#include <QDeclarativeView>int main(int argc, char **argv) {
QApplication app(argc, argv); QApplication::setGraphicsSystem("raster"); QDeclarativeView *view = new QDeclarativeView; view->setAttribute(Qt::WA_OpaquePaintEvent); view->setAttribute(Qt::WA_NoSystemBackground); view->setAttribute(Qt::WA_DeleteOnClose); view->setFocus(); view->setViewportUpdateMode(QGraphicsView::MinimalViewportUpdate); view->setSource(QUrl::fromLocalFile("main.qml")); view->showFullScreen(); return app.exec();
}
@project
@
TEMPLATE = app
QT += declarative
CONFIG += qt uicSOURCES +=
main.cpp
@SDK built from 4.7.1 source:
@
./configure -release -qt-sql-sqlite -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -silent
@ -
Hi Gary,
What platform are you running on? Were you setting any other viewer settings (like -opengl)?
Note that setGraphicsSystem needs to be called before the QApplication constructor to take effect (http://doc.qt.nokia.com/4.7/qapplication.html#setGraphicsSystem).
Regards,
Michael -
No additional qmlviewer arguments, just -fullscreen and -frameless. We have yet to tackle OpenGL.
Platform is standard x86 VIA processor. We build off a Fedora Core 8 box.
@
[172.17.128.4: ]# cat /proc/version
Linux version 2.6.34 (xxxxx@xxxxx) (gcc version 4.1.2 20070925 (Red Hat 4.1.2-33)) #2 SMP PREEMPT Fri Jul 2 16:32:55 PDT 2010[172.17.128.4: ]# uname -a
Linux sm 2.6.34 #2 SMP PREEMPT Fri Jul 2 16:32:55 PDT 2010 i686 GNU/Linux[172.17.128.4: ]# cat /proc/cpuinfo
processor : 0
vendor_id : CentaurHauls
cpu family : 6
model : 9
model name : VIA Nehemiah
stepping : 8
cpu MHz : 798.000
cache size : 64 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr cx8 sep mtrr pge cmov pat mmx fxsr sse up rng rng_en ace ace_en
bogomips : 1600.07
clflush size : 32
cache_alignment : 32
address sizes : 32 bits physical, 32 bits virtual
power management:MemTotal: 489028 kB
MemFree: 116496 kB
Buffers: 19276 kB
Cached: 183664 kB
SwapCached: 0 kB
Active: 144976 kB
Inactive: 59504 kB
Active(anon): 25208 kB
Inactive(anon): 7456 kB
Active(file): 119768 kB
Inactive(file): 52048 kB
Unevictable: 20088 kB
Mlocked: 0 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 489028 kB
LowFree: 116496 kB
SwapTotal: 995992 kB
SwapFree: 995992 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 21668 kB
Mapped: 8576 kB
Shmem: 11036 kB
Slab: 11724 kB
SReclaimable: 7728 kB
SUnreclaim: 3996 kB
KernelStack: 1072 kB
PageTables: 1028 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 1240504 kB
Committed_AS: 323928 kB
VmallocTotal: 528440 kB
VmallocUsed: 29848 kB
VmallocChunk: 497652 kB
DirectMap4k: 151488 kB
DirectMap4M: 352256 kB[172.17.128.4: ]# Xorg -version
X Window System Version 6.9.0
Release Date: 21 December 2005
X Protocol Version 11, Revision 0, Release 6.9
Build Operating System: Linux 2.6.12-1.1381_FC3smp i686 [ELF]
Current Operating System: Linux sm 2.6.34 #2 SMP PREEMPT Fri Jul 2 16:32:55 PDT 2010 i686
Build Date: 29 July 2010
Before reporting problems, check http://wiki.X.Org
to make sure that you have the latest version.
Module Loader present
@ -
I've just added a note about when to call setGraphicsSystem above (looks like I wasn't quite fast enough though:-). Does moving that fix your issue?
Michael
-
Fixed! Thank you :)