• Editor
  • メモリAllocateでエクスポートができません / ERROR: Unable to allocate memory

いつもお世話になっております。
エクスポートがメモリAllocateエラーを頻繁に起こすようになってしまいました。
エラーログは以下のとおりです。

Spine Launcher 4.1.12
Esoteric Software LLC (C) 2013-2022 | http://esotericsoftware.com
Windows 10 Home amd64 10.0
NVIDIA Corporation, NVIDIA GeForce RTX 3060 Ti/PCIe/SSE2, 4.6.0 NVIDIA 536.40
Starting: Spine 4.2.29 Professional
Spine 4.2.29 Professional
Licensed to: <removed> Using customized hotkeys: hotkeys-1.txt
WARNING: Launcher out of date. Reinstall to improve performance.
Started.
OpenAL 1.1, Default audio device
Image for attachment [mesh: .furcoat_ura_Back-MESH ONLY, skeleton: アニメ削除Allocateエラーテスト, slot: MainChr/cape_ura-] not found: .furcoat_ura_Back-MESH ONLY
Image for attachment [mesh: F/majo/dress/bra- _After_KIRIWAKE, skeleton: アニメ削除Allocateエラーテスト, slot: MainChr/bra_Front-] not found: F/majo/dress/bra- After_KIRIWAKE
Skin is empty: [skin: M/Mman, skeleton: アニメ削除Allocateエラーテスト]
WARNING: Memory usage:
Available / max: 1.5 MB / 2.1 GB (0.1%)
Allocated / max: 2.1 GB / 2.1 GB (100.0%)
Used / allocated: 2.1 GB / 2.1 GB (99.9%)
WARNING: Memory usage:
Available / max: 1.5 MB / 2.1 GB (0.1%)
Allocated / max: 2.1 GB / 2.1 GB (100.0%)
Used / allocated: 2.1 GB / 2.1 GB (99.9%)
ERROR: Unable to allocate memory:
[OutOfMemoryError] Java heap space
at s.Nmd.
(:1609)
at s.Nmd.S(
:821)
at s.Nmd.(:2054)
at s.Nmd.S(:1130)
at s.Nmd.
(:1086)
at s.Nmd.
(:424)
at s.qiu.
(:118)
at s.Sfc.
(:503)
at s.Sfc.
(_:480)
at 0x00000001006ccc08.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
ERROR: Out of memory:
ERROR: Sorry, Spine was unable to allocate enough memory.

1つのスケルトンに複数のキャラクターが含まれ、ボーンやメッシュ多いというのもあるのですが、エクスポートにかなり時間がかかるようになり、メモリAllocateエラーが頻繁に発生するようになりました。
以下は出力しようとしたスケルトンの測定項目です

アトラス解像度は4096x4096で詰め込んでいます
パッキング処理からかなり時間がかかっているようで、アニメーションを全て削除してエクスポートしても同様でした。
上記内容のスケルトンで2.1GBメモリを使い切るのは妥当でしょうか?

何卒よろしくお願いします

Related Discussions
...

エクスポート時にメモリAllocateエラーが発生する問題について、いくつかの対策を試してみてください。

  1. メモリ制限の設定:

    • Limit memoryオプションを有効にすることで、メモリ使用量を制限し、エクスポート時のメモリ不足を防ぐことができます。以下のリンクから詳細を確認できます:
      Limit memory
    • このオプションを有効にすると、画像ファイルを一度にメモリに読み込むのではなく、2回読み込むことでメモリ使用量を抑えます。
  2. コマンドライン引数の設定:

    • Spineのメモリ使用量を増やすために、コマンドライン引数-Xmxを使用してメモリ制限を設定できます。例えば、4GBのメモリを使用するには以下のように設定します:
           Spine -Xmx4096m
    • ただし、Spine 3.8以前のバージョンは32ビットであり、Windowsでは32ビットプログラムのメモリ使用量が約1200MBに制限されるため、注意が必要です。
  3. パッキング設定の見直し:

    • Packing: Polygonsオプションを使用している場合、CPU負荷が高くなるため、Packing: Rectanglesに変更することを検討してください。これにより、エクスポート時間が短縮される可能性があります。
  4. プロジェクトの分割:

    • 1つのスケルトンに複数のキャラクターが含まれている場合、プロジェクトを分割してエクスポートすることでメモリ使用量を減らすことができます。
  5. バイナリ形式でのエクスポート:

    • JSON形式ではなくバイナリ形式でエクスポートすることで、メモリ使用量を削減し、エクスポート速度を向上させることができます。

これらの対策を試しても問題が解決しない場合、プロジェクトの詳細な情報を提供していただければ、さらに具体的なアドバイスができるかもしれません。

Spinebotにご提示頂いた対策を試してみました。
1,4,5は既に行っており、3のPacking: Rectanglesはメッシュ規格統一のため、画像より大きい一定範囲のアタッチメントを使っているためポリゴンパッキングでないと難しいです。
そのため2を試したところ出力時間を短縮することができました。
ありがとうございます。

As the warnings in your log say, you should re-download Spine from your Spine license page and reinstall. Newer launcher versions are more efficient in various ways and default to 4GB (equivalent to what Spinebot showed) rather than 2GB.

Your skeleton is complex but unlikely to be the problem. Polygon packing can be very intense and may take a long time if you have many images. You can check Fast to get faster packing, though it may not pack as tightly.

お返事ありがとうございます!
エディタの更新はしていたのですが、Launcherはあまり意識していませんでした。
新しいLauncherで起動することで-Xmx4096mコマンドを使用せずともエクスポートができました!