ExtendScript経由のスクリーン用に書き出しが固まる
説明
ExtendScript経由で[スクリーン用に書き出し]を実行すると動作が遅くなり,動いていないように見えます(実際は動いていて長い時間待てば終わる)。その間レインボーカーソルが出ています。
JPEGを書き出すときに顕著です。書き出す画像がある程度大きいと,プログレスバーが99%くらいになった後ほとんど進みません。CPU使用率は100%前後になります。
例:1700x1000pxのアートボード8枚を300ppiで書き出すとき,かかる時間は228.175秒(できたJPEGの重さは1点につき2.9MB)
同じ条件の書き出しをGUIから手動で実行すると,すぐに終わります。
例:1700x1000pxのアートボード8枚を300ppiで書き出すとき,かかる時間は2秒くらい(できたJPEGの重さは1点につき1.8MB)
PNG24は手動よりは遅いですが,JPEG程大きく影響しません。CPU使用率は160%前後でした。
例:1700x1000pxのアートボード8枚を300ppiで書き出すとき,かかる時間は57.745秒
次の条件で起こります。
* 少なくともIllustrator 2020〜2022(24.3.0〜26.0.2)
* 少なくともmacOS Monterey 12.0.1(Apple Silicon) / Big Sur 11.6(Apple Silicon)の2環境
* 少なくともMacBook Air(Apple Silicon, 16GBメモリ) / iMac(Apple Silicon, メモリ不明)の2機種
* ExtendScriptのDocument.exportForScreens経由で実行
* オプションJPG 100,300ppi(アートボードサイズは1700x1000px)
次の条件では起こりません。
* オプションをJPG 100,72ppiにしたとき
* オプションをPNG24,300ppiにしたとき
* GUIから手動で実行したとき
次の項目はあまり影響しないようです。
* IllustratorをRosettaで起動するかどうか。Rosettaにしたらさらに遅くなる
* アートボード上のアイテムを単純なデータにすること。四角いパスとグラデーションだけでも遅くなる
期待する動作
ExtendScript経由で[スクリーン用に書き出し]を実行したとき,GUI経由で行うのと同じくらい速く動きます。