このトピックでは、大規模なデータを処理するために xamDiagram™ コントロールを調整する方法を説明します。
xamDiagram は大規模なデータを処理できますが、パフォーマンスの問題は依然として発生します。パフォーマンスの問題が発生する場合は、パフォーマンスの改善に必要な以下の候補を試すことを検討してください。
これは通常必要ありません。またいくつもの候補を適用すると、ダイアグラム全体の操作性が低下する可能性があります。そのためには、候補を注意深く検討して実際にテストし、最適な結果となる組み合わせを見つけてください。
以下の表は、 xamDiagram のパフォーマンスの最適化に関連した可能な構成を簡単に説明しています。
レイアウト
xamDiagram の Layout プロパティを使用すると、すべてのノードに対して追加の反復が実行されます。適用するレイアウトにより大量の計算が実行されると、さらにパフォーマンスに影響を与えます。その場合は、できるだけ、 DiagramNode.Position プロパティを事前に計算した位置に設定することを検討してください。
表示項目数
たとえば、 MinimumZoomLevel を増加させ、同時に表示する項目の数を制限してみてください。
ナビゲーション ペイン
ナビゲーション ペインを表示すると、項目を表示するための追加のオーバーヘッドが発生します。そのため、 NavigationPaneVisibility を Collapsed に設定することを検討してください。
Collapsed
選択
項目の操作で待機時間がある場合は、同時に多数の項目の操作が発生しないように、 SelectionMode を Single または None に設定することを検討してください。
項目テンプレート
レンダリング時間を短くするために、 DiagramItem.DisplayTemplate には小さなサイズの DataTemplate を使用してください。データ テンプレートに含める要素およびバインドは、できる限り少なくする必要があります。
DataTemplate
ノードの図形
ノードのカスタム図形を作成するには、 DiagramItem.DisplayTemplate に対して DiagramNode.Geometry プロパティを使用します。
接続の種類
接続で DiagramConnection.ConnectionType を Straight に設定すると、 RightAngle に設定した場合より、明らかにパフォーマンスが向上します。
接続キャップ
DiagramConnection.StartCapStyle プロパティおよび EndCapStyle プロパティでカスタム キャップを設定し、各キャップのビジュアル ツリーに新しいコントロールを貼り付けます。データ集約型のアプリケーションの場合は、定義済みのキャップ タイプのいずれかを DiagramConnection.StartCapType および EndCapType で使用することを検討してください。可能な場合は、キャップ タイプに None を設定し、キャップを使用しないでください。
接続の始点および終点
接続の両端をターゲット ノード上の特定のポイントに関連付け、最も近い接続ポイントを決定するルーチンをスキップするために、 DiagramConnection.StartNodeConnectionPointName プロパティおよび EndNodeConnectionPointName プロパティを設定することを検討してください。