複雑なフローチャート(私の場合は.NETのもの)を描画しているアプリケーションがあるとします。ユーザは許容可能で一貫したフレームレートでフローチャートをナビゲートする必要があります。たとえば、10 FPSとします。これは、フローチャートが巨大であれば、UIをブロックせずにすべてを描画することができないことを意味します。Fluid 2D shapesパン/スクロール
さらに、形状の複雑さが大きく異なり、動的な移動中に何も欠けていないという印象をユーザーに与えるために、できるだけ多くの図形を描画したいと考えています。
私がテストした最初のアプローチは、(10 FPSを維持するために)1つのフレームを描き、その閾値を打った後に描画を停止する必要がある時間を計算し、明らかに画面からシェイプをスキップします。
結果は良好ではありません。最初に描画するものに何の論理もなく、図面はいくつかの複雑な図形に貼り付けられ、単純な図形の大部分をスキップすることができます(グラフを失ったという印象をユーザに与えます)。さらに、推定されるフレームレートはかなり変化し、結果として描かれる形状の数も変化する可能性がある。
あなたはより良いアプローチを知っていますか?あなたはその件に関する記事を知っていますか?
ありがとうございました。
最初に行うことは、すべての項目にバウンディングボックスを関連付けて、それを使用してウィンドウ内にその一部が表示されるかどうかを判断することです。 2番目のステップでは、ネストされたボックスのツリーにボックスを整理することができます。これにより、アイテムのグループをすばやく拒否できます。 https://en.wikipedia.org/wiki/R-treeを参照してください。 –