Как повысить производительность с помощью Qt4.5 на платформе Arm

Я только что закончил перенос библиотеки GUI QT4.5.3 с библиотекой сенсорного экрана tslib1.4.1 на S3C2440 на базе arm9, но обнаружил, что программы работают медленно. Как сделать так, чтобы Qt4.5.3 работал более плавно? Я уже прочитал ссылки на http://doc.trolltech.com/4.7-snapshot/fine-tuning-features.html и http://doc.trolltech.com/4.7-snapshot/qt-performance.html Любые другие предложения, основанные на вашем опыте? Спасибо!


person Treper    schedule 26.12.2010    source источник


Ответы (2)


Я тоже использую S3C24xx. Я использую Qt 4.6.2. Вот моя конфигурация компиляции

@host:/qt-everywhere-opensource-src-4.6.2#./configure \
-opensource \
-confirm-license \
-release -shared \
-embedded arm \
-xplatform qws/linux-arm-g++ \
-depths 16,18,24 \
-fast \
-optimized-qmake \
-pch \
-qt-sql-sqlite \
-qt-libjpeg \
-qt-zlib \
-qt-libpng \
-qt-freetype \
-little-endian -host-little-endian \
-no-qt3support \
-no-libtiff -no-libmng \
-no-opengl \
-no-mmx -no-sse -no-sse2 \
-no-3dnow \
-no-openssl \
-no-webkit \
-no-qvfb \
-no-phonon \
-no-nis \
-no-opengl \
-no-cups \
-no-glib \
-no-xcursor -no-xfixes -no-xrandr -no-xrender \
-no-separate-debug-info \
-nomake examples -nomake tools -nomake docs \
-qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib

@host:/qt-everywhere-opensource-src-4.6.2# make
@host:/qt-everywhere-opensource-src-4.6.2# make install

Также обратите внимание, что если вы измените уровень оптимизации компилятора в файле qt-everywhere-opensource-src-4.6.2/mkspecs/common/g++.conf с -O2 на -O0, это может привести к очень медленной работе библиотеки Qt. Надеюсь, это будет полезно для вас.

person Dien Nguyen    schedule 05.01.2011
comment
Насколько гладко работает ваш qt? Мое приложение, включая демоверсии, предоставленные qt, работает медленно на S3C2440. - person Treper; 09.03.2011
comment
mediafire.com/?3gqq7vc16bu1ngx это мой скомпилированный Qt, в моем случае он работает довольно хорошо, сэр. Вам также необходимо настроить некоторые переменные среды в файле .bashrc (он находится здесь mediafire.com/?oi3hyx6vmlscbxp) - person Dien Nguyen; 14.03.2011
comment
Я запускаю свое приложение через сервер NFS на ПК, это может привести к снижению производительности из-за сетевого процесса. Используете ли вы NFS? - person Treper; 15.03.2011
comment
Я использую как NFS, так и NAND rootfs. Если вы сомневаетесь в своем сетевом подключении. Подключите плату напрямую к серверу NFS и повторите проверку. Если он снова не работает, возможно, проблема связана с программным обеспечением. - person Dien Nguyen; 24.03.2011

Я предлагаю запустить инструмент профилирования, чтобы увидеть, что на самом деле делает ваша программа. Возможно, другая часть вашей программы загружает ЦП. Проблемы с производительностью часто сначала замечаются через графический интерфейс, поскольку это то, что пользователь видит и с чем взаимодействует. Oprofile — хороший инструмент, который стоит попробовать.

person waffleman    schedule 11.01.2011