CS5 スクリプトの実行速度が非常に遅いと思うのは私だけですか? これらの数行の実行には 1 分以上かかります。
for (n=0; n<app.activeDocument.layerSets.length; n++) {
app.activeDocument.layerSets[n].visible = false;
}
レイヤーセットの数は 20 です。Vista Home Premium システム、AMD Athlon 64 X2 デュアル コア 5200+、8GB RAM で CS5.1 64 ビット バージョンを実行しています。
スクリプトを .JSXBIN としてエクスポートしようとしましたが、それでも 1 分以上かかります。CS5.1 で .JSXBIN スクリプトを実行すると、CS5.1 の CPU 使用率が 3% から 57% になります。
ここに何か問題があるに違いありません。スクリプトを高速化するにはどうすればよいですか?
// ありがとう
* 編集 * CS5 独自の DOM 実装がここで問題になっているようです。DOM 関連の値をローカル変数に読み込むことで、スクリプトは 2 倍以上高速化されました。
var LayerCount = app.activeDocument.layerSets.length;
var LayerRoot = app.activeDocument.layerSets;
for (n=0; n<LayerCount; n++) {
LayerRoot[n].visible = false;
}
...とはいえ、20 個のオブジェクトのプロパティを変更するだけでも時間がかかります。最適化の助けをいただければ幸いです:)