0

シミュレーションの結果を表示するには、タイルマップを表示する必要が
あります。マップ上でズーム/ズーム解除できるため、ズームが遠い場合は、はるかに多くのタイルが表示されます。

QGraphicsPixmapItemを使用して、タイルをQGraphicsSceneに追加しています。物事をスピードアップできる
かしらopenGl

4

1 に答える 1

1

QGraphicsPixmapItemを使用して、タイルをQGraphicsSceneに追加しています。

QGraphicsSceneは、シーンのどの部分が表示され、どの部分が表示されないかを決定するために、空間細分割(Kdツリー)などのメソッドをすでに使用しています。さらに、QGraphicsSceneはOpenGLをレンダリングバックエンドとして使用できます。

QGraphicsSceneを使い続けることを強くお勧めします。特に次の質問を考慮すると、これより効率的になることはほとんどありません。

openGlが物事をスピードアップできるかどうか疑問に思います

素朴に使用された場合ではありません。OpenGLはシーングラフではありません。カリングできず、ジオメトリが表示されていない場合に描画コマンドを発行できません。描画コマンドを送信すると、それらが処理されます。シーンデータを保持するQGraphicsSceneとは異なり、OpenGLは、要求された描画操作を実行します。最終結果が見えない場合でも。最後の処理ステップ(クリッピング、初期フラグメント拒否)でのみ、非表示のフラグメントが破棄されます。

于 2012-11-17T13:49:55.673 に答える