Memory Allocation — After Effects SDK Guide 22.0.0 documentation
重要なサイズのメモリ割り当てには、After Effectsを使用してください。小さなメモリ割り当ての場合、newとdeleteを使用できますが、これは例外であり、ルールではありません。メモリ不足の状態(RAMプレビュー中など)では、プラグインがメモリ不足の状態に優雅に対処し、OSメモリをAfter Effectsと競合させないことが非常に重要です。AfterEffectsのメモリ割り当て関数を使用することで、キャッシュされたイメージを解放するタイミングを知ることができ、メモリのスワップを避けることができます。AfterEffectsのメモリ割り当て関数を使用しない場合、ロックアップ、クラッシュ、テクニカルサポートコールが発生することがあります。そのようなことはしないでください。
既存のC++クラスをラップする場合は、そのクラスに対してnewとdeleteを実装した基底クラスを作成し、そこから派生させる。STLをオーバーロードするために、グローバルなnewとdeleteをオーバーロードすることはお勧めしません。代わりに、テンプレート定義の一部としてアロケータを提供します。
After Effectsから渡されたハンドルは、呼び出される前にロックされ、戻るとロックが解除されます。
Function | Purpose | Replaces |
---|---|---|
host_new_handle | 新しいハンドルを割り当てる。PF_Handle (*host_new_handle)( A_HandleSize size); |
PF_NEW_HANDLE |
host_lock_handle | ハンドルをロックする。void (*host_lock_handle)( PF_Handle pf_handle); |
PF_LOCK_HANDLE |
host_unlock_handle | ハンドルのロックを解除します。void (*host_unlock_handle)( PF_Handle pf_handle); |
PF_UNLOCK_HANDLE |
host_dispose_handle | ハンドルを解放します。void (*host_dispose_handle)( PF_Handle pf_handle); |
PF_DISPOSE_HANDLE |
host_get_handle_size | ハンドルが渡された再割当可能なブロックのサイズをバイト単位で返します。 | |
A_HandleSize (*host_get_handle_size)( PF_Handle pf_handle); |
PF_GET_HANDLE_SIZE | |
host_resize_handle | ハンドルのサイズを変更する。PF_Err (*host_resize_handle)( A_HandleSize new_sizeL, PF_Handle *handlePH); |
PF_RESIZE_HANDLE |