ライブラリ初期化関数群

Namespace: FVIL
Assembly: FVILbasic (in FVILbasic.dll) Version: 3.1.0.0 (3.1.0.17)

Syntax

C#
public abstract class _SetUp
Visual Basic
Public MustInherit Class _SetUp

Remarks

このクラスは、FVIL ライブラリの初期化処理に関わる関数を局所化する事を目的に定義されています。 各関数はスタティックですので、このクラスのインスタンスを生成せずに実行する事が可能です。



■ FVILライブラリの初期化

アプリケーションを起動した後、 InitVisionLibrary()()()() を呼び出して ライブラリを初期化してください。 この時、ライセンスの認証が行われます。試用期間中であっても、この処理は必ず行う必要が有ります。 初期化を行わなかった場合は、プロテクトされたクラスの実行ができません。


■ FVILライブラリの解放

FVIL ライブラリ全体の解放処理を行います。 この処理は、アプリケーションの終了時に自動的に行われます。 ユーザが明示的に呼び出す必要はありません。


■ マルチコア対応

いくつかの画像処理は、任意のスレッド数を指定して処理を並列化し、レーテンシを短縮できます。 マルチコア対応の画像処理を並列化するには、 SetParallelNum(Int32) 関数を使用してください。 既定では 論理プロセッサ数(GetProcessorNum()()()() が返す値) に設定されています。 既定値を変更する場合は、環境変数 OMP_NUM_THREADS を設定してください。 1 は『並列化しない』、2~ は『並列化する』を意味します。


環境変数について:

環境変数 OMP_NUM_THREADS を設定する事で、各スレッドの並列数の既定値を設定できます。 但し、環境変数の読み込みはアプリケーションの起動時に行われますので、 アプリケーション内で SetEnvironmentVariable 関数等で環境変数を設定しても既定値は変更されません。


マルチスレッドアプリケーションでの注意:

ユーザのアプリケーションが複数のスレッドで画像処理を行う場合は、注意が必要です。 SetParallelNum(Int32) 関数で設定した並列数は、 スレッド毎に保持されますので、当関数で初期化されていないスレッドにおいては、 生成される並列数が既定値になります。 (既定値は、環境変数 OMP_NUM_THREADS で設定された値、設定されていなければ論理プロセッサ数です。) その為、アプリケーション内で生成したスレッド毎に SetParallelNum(Int32) 関数を呼び出して並列数を初期化する必要があります。

一般的に、同時に実行するスレッド数がプロセッサの物理数を超えると性能が低下します。 GetProcessorNum()()()() 関数で、現在のプロセッサの論理数を取得する事ができますが、 物理数(CPU のパッケージ数やコア数)でない事にご注意ください。

Inheritance Hierarchy

System..::..Object
FVIL..::.._SetUp

See Also