matsumoto
2014年12月8日 21時19分
お世話になっています、松本と申します。
Armadillo-840を利用させていただいています。LCD表示にて、2D描画を表示しているコンテンツで検証作業をしているのですが、
タッチの動作について質問させていただければと思います。
現在、作成したwidgetにbool event(QEvent* event)をオーバーライドして、touchEventを取得しています。(touchBegin/touchUpdate/touchEnd)
また、mouseEventについては、作成したwidgetに、mousePressEvent, mouseReleaseEvent, mouseMoveEventをオーバーライドしています。
mainのwidgetに、QVBoxLayoutを配置しそこに作成したwidgetを追加し、2Dの描画しています。
mainのwidget上から、QTimerを利用して、timeout()シグナルを利用して作成したwidgetとconnectし、定期的にupdate()を呼び出し、paintEvent()を呼ぶことで、描画のfps値を測定しています。
--mainのwidget内部--
Widget* widget = new Widget(this); QVBoxLayout* layout = new QVBoxLayout; layout->addWidget(widget); layout->setSpacing(0); layout->setMargin(0); layout->setContentsMargins(0, 0, 0, 0); setLayout(layout); QTimer* timer = new Qtimer(this); connect(timer SIGNAL(timeout()), widget, SLOT(animate()));//内部でupdate()を呼ぶ timer->start();
mouseでタッチしたとき、moveしたときなどは、
fpsにほとんど変化がないのですが、touchしたときだけfpsが半分ぐらいに落ち込むという現象がありました。
eventのオーバーライドを全て行わないようにしてみたところ、
触っているだけでfps値が落ち込むという現象が起きいるのですが、何かご存じでしたらご教授いただけませんでしょうか
(mouseは、ずっと押下していてもそのようなことはありません)
プロジェクトで設定してるシステム環境変数は下記になります。
QT_QPA_EGLFS_DISPLAY=1
QT_QPA_EGLFS_WIDTH=800
QT_QPA_EGLFS_HEIGHT=480
QWS_MOUSE_PROTO=tslib:/dev/input/event0
# armadillo実行時にログインして上記を設定し、-qwsもつけて実行
# QT 4.8.4を利用
以上、宜しくお願い致します。
matsumoto
2014年12月11日 15時38分
お世話になっています、松本です。
SDカードブートで、配布されているイメージで実行させてみたところ、問題なくスムーズに動作することができました。
お騒がせいたしました。
> お世話になっています、松本と申します。
>
> Armadillo-840を利用させていただいています。LCD表示にて、2D描画を表示しているコンテンツで検証作業をしているのですが、
> タッチの動作について質問させていただければと思います。
>
> 現在、作成したwidgetにbool event(QEvent* event)をオーバーライドして、touchEventを取得しています。(touchBegin/touchUpdate/touchEnd)
> また、mouseEventについては、作成したwidgetに、mousePressEvent, mouseReleaseEvent, mouseMoveEventをオーバーライドしています。
>
> mainのwidgetに、QVBoxLayoutを配置しそこに作成したwidgetを追加し、2Dの描画しています。
> mainのwidget上から、QTimerを利用して、timeout()シグナルを利用して作成したwidgetとconnectし、定期的にupdate()を呼び出し、paintEvent()を呼ぶことで、描画のfps値を測定しています。
>
> --mainのwidget内部--
>
>
> mouseでタッチしたとき、moveしたときなどは、
> fpsにほとんど変化がないのですが、touchしたときだけfpsが半分ぐらいに落ち込むという現象がありました。
>
> eventのオーバーライドを全て行わないようにしてみたところ、
> 触っているだけでfps値が落ち込むという現象が起きいるのですが、何かご存じでしたらご教授いただけませんでしょうか
> (mouseは、ずっと押下していてもそのようなことはありません)
>
> プロジェクトで設定してるシステム環境変数は下記になります。
>
> QT_QPA_EGLFS_DISPLAY=1
> QT_QPA_EGLFS_WIDTH=800
> QT_QPA_EGLFS_HEIGHT=480
> QWS_MOUSE_PROTO=tslib:/dev/input/event0
> # armadillo実行時にログインして上記を設定し、-qwsもつけて実行
> # QT 4.8.4を利用
>
> 以上、宜しくお願い致します。
>