大きな規模の物件ではRevitモデルのサイズがどんどん大きくなるので、ちょっとした入力の違いや運用方法で、モデルのパフォーマンスに影響を与えることがあります。
そこで、よく耳にするけど確かめたことのないことや、個人的に気になっているモデルのパフォーマンスに関わる項目について、5回に渡って検証したいと思います。
1回目は、ファミリについてです。
検証内容
今回は、ファミリの作り方によってパフォーマンスにどう影響を与えるか検証します。
検証項目
・押し出しとスイープの比較
・参照面の数と参照の種類の比較
・ファミリ内部で配列配置した場合と通常配置との比較
検証方法
検証するモデルは、一般モデルカテゴリで1m角の立方体のファミリを作成し、1~20FLに4mピッチでグリッド状に縦横100個ずつ並べ、1フロアに1万個、計20万個並べたrvtファイルとします。
下記について検証項目ごとに計測を行い、その結果を比較します。
- rvtファイルサイズ
- rfaファイルサイズ
- rvtファイルを開いて閉じる時間
- 平面ビューを1つ開いて閉じる時間(1~20FLの開閉時間の平均)
- 全体が表示される3Dビューを1つ開いて閉じる時間
※時間の計測はマクロで測定。各5回測定し、その平均値を評価する値とします。
※rvtファイルの開始ビューは、ビュー範囲に何も要素が無い平面ビューを設定。
※ビューの開閉時間は、rvtファイルを開いて最初にビューを開くときの時間を測定しています。
※テンプレートはデフォルトの建築テンプレートを使用しています。
※環境は、Revit2019.2、Windows10です。
押し出しとスイープの比較
まずは、ファミリ内のフォームが、押し出しとスイープで変わるかについてです。
1m角の立方体を押し出しとスイープそれぞれで作成し、各項目について計測しました。
結果としては、測定値に大きな差異は見られませんでした。
立方体というシンプルな形状のということもありますが、このような形状であれば、どちらを使ってもパフォーマンスにはあまり影響しないようです。
参照面の数と参照の種類
次に、ファミリ内部の参照面の数によって、また参照が"弱参照"、"強参照"、"なし"の違いで変わるか、検証しました。
参照面の数は、デフォルトの参照面は対象外とし、4面の場合と20面の場合を比較します。
また参照の種類は、20面の参照面の方で"弱参照"、"強参照"、"なし"を計測します。
測定結果はこのとおりです。
結果としては、ここでも測定値に大きな違いは見られませんでした。
通常参照面が増えるということは、形状やパラメータが増えるはずですが、今回はただ参照面を増やしただけなので、参照面のみが増えただけではそこまで大きな影響はないのかもしれません。
ファミリ内部で配列配置した場合と通常配置との比較
最後は、1フロアに1万個立方体を配置する際、ファミリ内部で配列を使って並べた場合と、ひとつひとつ配置した場合の比較です。
検証した配置パターンとしては、
- ファミリインスタンスを普通に1万個並べる
- ファミリ内部で1.のファミリをネストしてX方向に配列で100個並べ、プロジェクト側で、作成したファミリインスタンスをY方向に100個並べる
- ファミリ内部で、2.のファミリをネストしてX方向、Y方向それぞれに配列で100個並べ、プロジェクト側で、作成したファミリインスタンスを1個並べる
の3つで行いました。
このとおり、2,のファミリ内でX方向のみ配列で配置したパターンが、最もパフォーマンスが良い結果となりました。3Dビューの開閉時間に顕著に違いが表れていますね。
ただ3.のように、ファミリ内で配列したものをさらに配列させると、一方向の配列よりパフォーマンスが落ちるようです。
今回の検証は以上になります。
ファミリの種類や設定は多岐に渡るので、今回の検証内容はかなり限定的ですが、少しはファミリ作成の参考になったでしょうか。また機会があれば、他の項目についても検証したいと思います。
次回は、3Dモデルと線分の描画についてです。
R.O
0 件のコメント:
コメントを投稿