0

未知の2D環境で食べ物を探すロボットをシミュレートしたいと思います。アイデアは、それらを遺伝的アルゴリズムで進化させることです。ロボットには、前方を見る捕虜と動くモーターがあります。2D環境の表面にはいくつかの食料源があります。

QGraphicsSceneクラスとを使用したグラフィカルシミュレーションにQtを使用する予定QGraphicsViewです。

私の質問は次のとおりです。シミュレーションを何百回も実行するので(遺伝的アルゴリズム)、最後の反復のみを表示し、前の反復をすべて非表示にします。最後の反復を除いてQGraphicsScene、そのためだけに使用することは可能ですか?QGraphicsViewそして最も重要なのは、それは効率的ですか?

4

1 に答える 1

0

QGraphicsViewは、を使用して一度に1つのシーンしか表示できませんQGraphicsView::setScene()。多くのQGraphicsScenesがあるのはまったく問題ありませんが、そのうちの1つだけを表示します。あなたの場合、最後の反復。

それぞれに多くのQGraphicsItem(たとえば、数千)を持つシーンが多数ある場合を除いて、これは効率的なアプローチだと思います。その場合、メモリが問題になる可能性があります。

于 2012-05-22T20:28:40.303 に答える