ポイントのレンダリングを開始し、大量の頂点をレンダリングしてから終了すると、ポイントを開始し、頂点をレンダリングし、終了し、大量の回数を繰り返す場合よりも、パフォーマンスが大幅に向上します(たとえば、パンおよびズームアクション中に再描画します。たとえば、200,000ポイントははるかにスムーズです)。
これは理にかなっていると思いますが、残念です。独自の開始-終了ブロックで各ポイントをレンダリングしながら、パフォーマンスを取り戻す方法はありますか?
バックグラウンド:
それぞれが独自のレンダリングを行う1トン(極端な場合は100万以上)の「オブジェクト」を含むことができるコントロールを設計したかったのです。これらのオブジェクトの多くは、ポイントとして表されます。
10万ポイントを個別に独自の開始-終了ブロックでレンダリングさせると、(単一の開始-終了ブロックですべてをレンダリングするのではなく)パフォーマンスに大きな打撃を与えます。したがって、オブジェクトがそれ自体をレンダリングする方法をコンテナに認識させる必要があるようです(たとえば、開始点、ポイントをレンダリングするために必要なすべてのことを伝えてから終了するなど)。
これは、私が望んでいた表示とオブジェクトの関係の独立した性質を台無しにします。また、ポイントの開始-終了ブロック内の頂点に名前を追加することはできないと思うので、選択によるヒットテストを台無しにしますよね?
参考までに(これが役立つ場合)、私のプロジェクトは(正投影を使用して)2Dシーンを表示し、ユーザーがクリックする可能性のある関連オブジェクトを判別するためのヒットテストが必要です。一般に、オブジェクトは、線で接続された個々のポイントを含む「トラック」を表します。位置データは一般的に静的ですが、ポイントとトラックの色と表示表現は、ユーザー設定と選択情報によって変更される場合があります。1つの例外-「再生」モードでは、ユーザーは一度に1つのトラックポイント(再生の「現在の」ポイント)のみを表示し、あるポイントから次のポイントへと時間を移動できます。ただし、その場合でも、再生中の現在の時刻に応じて、各トラックのどのポイントが実際に(「静的」な位置に)表示されるかを変更するだけだと思いました。