インタフェースおよびインタフェース内でメソッドを検索すると、速度が落ちる可能性があります。たとえば、特に複数の頂点、面、法線、オブジェクトなどに影響を及ぼすためにループ内で同じメソッドを複数回呼び出す場合に、パフォーマンスが著しく低下します。
インタフェース内でメソッドへのアクセスを高速化するために、MAXScript によってインタフェースとメソッドを 1 回検索させて、その後はループ内で直接そのメソッドにアクセスすることができます。
以下は、通常の方法です。
for i = 1 to 100 do myObject.edit_normals.setNormal i myNormals[i]
以下が、代替の方法です。
EN_setNormal = myObject.edit_normals.setNormal -- the method for i = 1 to 100 do EN_setNormal i myNormals[i]
このようにすると、要求されたインタフェースとメソッドは 1 回だけ検索され、その後は検索せずにループ内で複数回直接アクセスされます。
上記のように高速ではありませんが、次の方法もあります。
EN_mod_i = myObject.edit_normals.EditNormalsMod -- the interface for i = 1 to 100 do EN_mod_i.setNormal i myNormals[i]
この場合は、インタフェースは 1 回だけ検索されますが、メソッドは複数回検索されます。同じインタフェースの多くのメソッドにアクセスする場合は、ループ内でインタフェースとメソッドの両方を検索するよりも、この方法の方が高速です。