私は Qt/C++ を使用しており、大規模で複雑な QGraphicsScene を描画しようとしています。多くのオブジェクトを追加すると、パンとズームが不快なほど遅くなります。(もちろん、ここで驚くことではありません)。デバイス座標のキャッシュ (特定のポイントへのパンに役立ちます) や最小限のビューポートの更新などで遊んでみましたが、最終的にはオブジェクトが多すぎます。私がやりたいのは、何らかの方法で UI を制御することからアイテムを非同期的に描画することです。つまり、Google マップと同じように、パンとズームを行い、できるだけ早く描画を追いつきたいのですが、アイテムの描画が完了する前にもう一度パンできるようにしたいと考えています。
私が試みている 1 つの方法は、2 つの QGraphicsScenes を作成することです。1 つは実際のオブジェクトを持っていますが、QGraphicsView にアタッチされていません。他の QGraphicsScene は QGraphicsView に接続されていますが、画面をカバーするサイズのタイル化された QPixmap がいくつかあるだけです。計画では、予備の CPU サイクルを使用して、必要なタイル ピックスマップを更新します。これにより、レンダリングに必要な制御が可能になるようです (したがって、表示されているシーン全体を再レンダリングする際にブロックする必要はありません)。考え?誰かがこれを実装しましたか?