サーフェスは、その三角形を変更するすべての操作で構成されています。サーフェスを再作成する場合、これらすべての操作を再実行すると処理が遅くなります。スナップショットは、サーフェス内のすべての三角形の現在の状態を記録することで、パフォーマンスを向上させることができます。スナップショットのデータから再作成を開始することで、既に一度行った複雑な計算を実行する必要がなくなり、時間を節約できます。サーフェス オブジェクトは、CreateSnapshot()、RebuildSnapshot()、および RemoveSnapshot() メソッドを備えています。CreateSnapshot() と RebuildSnapshot() は、どちらも既存のスナップショットを上書きします。
スナップショットが存在しない場合、RebuildSnapshot() でエラーが発生します。サーフェスが古い場合、CreateSnapshot() と RebuildSnapshot() でエラーが発生することもあります。サーフェスに Surface.HasSnapshot プロパティを持つスナップショットが既に存在するかどうかを調べることができます。例:
if (oSurface.HasSnapshot) { oSurface.RemoveSnapshot(); } oSurface.CreateSnapshot(); oSurface.RebuildSnapshot();