最終的なサイズがわかっている場合は、配列をあらかじめ初期化しておく
 
 
 

MAXScript に関する質問と回答 > 処理速度を上げる方法 > 最終的なサイズがわかっている場合は、配列をあらかじめ初期化しておく

append メソッドを使用して配列に要素を追加する場合、新しい配列が作成される前に、メモリには元の配列のコピーが作成されます。実際に配列が使用される前に配列のサイズがわかっている場合、配列の最後の要素を一時的な値に割り当てることで、メモリ内の配列をあらかじめ初期化しておくことをお勧めします。これによってメモリ内には必要なサイズの配列が作成され、配列の各要素にはインデックスによってアクセスして値を割り当てていけばよくなります。したがって、append メソッドによるメモリのオーバーヘッドは起こりません。

たとえば、次のようなスクリプトがあるとします。

MyArray = #()--空の配列を作成します。
for i = 1 to 100 do
  append MyArray (random 1 100)--各要素を追加します。

次ののように使用できます。

MyArray = #()
MyArray[100] = 0--メモリ内の 100 の要素を持つ配列を初期化します。
for i = 1 to 100 do
  MyArray[i] = random 1 100--あらかじめ定義された配列に割り当てます。

前のヒント

可能な場合は配列ではなく bitArray を使用する

次のヒント

再帰関数を使用する