BimRv SDK: アンロードモードの使用

特別なアンロードモードは、ファイルのロード中およびBimRv APIでのその後の作業中のメモリ使用量を削減します。デフォルトでは、すべてのファイル要素はファイルストリームからの初期読み取り後にメモリに保持されますが、このモードではそれらを特別なデポジットストレージにシリアル化し、要素を開くときにそこから抽出します。この機能によりメモリ使用量はほぼ半分に削減されますが、ファイルのロード中に深刻なパフォーマンス低下を引き起こす可能性があります。

アンロードモードを有効にすると、APIを使用して開かれたすべての要素にスマートポインタが使用されることも意味します。スマートポインタを使用することが一般的に推奨されますが、アンロードモードでは、開かれた要素が生ポインタで処理されるとすぐに解放されるため、これは非常に重要です。

BimRv SDKには、アンロードモードで動作するためのメソッドが含まれています。たとえば、アンロードモードが有効になっているかどうかを確認するには、unloadEnabled() メソッドを呼び出します。unloadCondition() メソッドを使用すると、ファイルがアンロードされる条件を作成できます。

unloadCondition() 関数がキャッシュ可能かどうかを確認するには、unloadCoditionCanBeCached() メソッドを呼び出します。

さらに、OdRxSystemServices 拡張機能には、デポジットストレージをファイルにリダイレクトし、データ同期レートを指定するオプションがあります。リダイレクトが可能かどうかを確認するには、useDisk() メソッドを呼び出し、trueが返された場合は、unloadFilePath() メソッドでファイルのパスをアンロードします。インデックス作成レートをカスタマイズするには、indexingRate() メソッドを使用します。

デフォルトでは、アンロードモードはオフになっています。BimRv SDKを使用してファイルが開かれている場合、アンロードモードのオプションは変更しないでください。

サンプル拡張機能は、BimRv/Extensions/ExServices/ ディレクトリにあり、実装を含む ExBimSystemServicesPE という名前のヘッダーファイルとソースファイルが含まれています。このサンプル実装により、OdaBimAppでアンロードモードを有効にできます。

COdaBimApp クラスには必要なすべてのODAサービス自体が含まれていますが、それぞれが独立した実装で表現できます。

class COdaBimApp : public CWinApp
                 , public OdRxObjectImpl<ExSystemServices>
                 , public OdRxObjectImpl<OdExBimHostAppServices>
                 , public OdRxObjectImpl<ExBimSystemServicesPE>
                 , public OdExBimHostAppProgressMeter

カスタム実装は、OdBmLoaderModuleName モジュールをロードした後、ファイルをオープンする前に、OdRxSystemServices プロトコル拡張として登録する必要があります。

// Initialize Runtime Extension environment
odrxInitialize(this);

// Load ODA BimRv modules
::odrxDynamicLinker()->loadModule(OdBmBaseModuleName);
::odrxDynamicLinker()->loadModule(OdBmLoaderModuleName, false);

// Disable Unloading mode initially
setUnloadEnabled(false);
setUseDisk(false);
OdRxSystemServices::desc()->addX(OdBmSystemServicesPE::desc(), static_cast<OdBmSystemServicesPE*>(this));

OdaBimAppでは、[ファイル] > [アンロードモード] を選択して、2つのアンロードオプションを選択します。使用後にメモリからオブジェクトをアンロードするかどうか、および一時データをディスクにキャッシュするかどうかです。いずれかのオプションがオンになっている場合、アンロードモードが有効になります。実装の都合上、ファイルが開いている場合はアンロードオプションを変更できないことに注意してください。

詳細については、当社のドキュメントをご覧ください。

今すぐ始める

ODAソフトウェアを60日間無料でお試しください。
リスクなし、クレジットカード不要。

無料で試す