スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

イラストスタジオのメモリ不足ダイアログを解消(低減)させる方法

毎度イラスタネタです。

イラストスタジオを使っていて、大規模なファイルになるとたまにこんなダイアログに遭遇します。
law1.jpg

読んで字のごとく、要求した作業を実行するのに必要なメモリをイラスタが確保出来ません、ということだと思います。
イラスタには仮想メモリという不足したメモリをハードディスクで代用するという機能があります。
こんな時こそ出番なのだと思いますが、それでも不足エラーが出たりします。
それならと32bitアプリの2GBアドレス超えを許可するLARGEADDRESSAWAREフラグを有効にしてみようというのがこのエントリの本旨です。

LARGEADDRESSAWAREとはなんぞや、ということですがwindowsの実行ファイルのPEヘッダにある情報の一つです。
これが有効だとプログラムが2GBを超えるアドレスを処理できるというと認識されます。
これ扱えるメモリではなくアドレスというのが大事です。
扱えるメモリの番地(面倒を見られる範囲の広さ)が広がったという意味で、実際に確保する実メモリの量はプログラミング次第です。(だと思いますが、素人考えなのであまり鵜呑みにしないようにお願いします)

PEヘッダの書き換えはバイナリエディタを使う、visualstudioに添付されているeditbin.exeを使うという方法がありますが今回はサードパーティツールのStud_PEを使います。

<2011.8.28追記>
イラスタにLargeAddressAwareパッチを当てるツールを作られた方がいらっしゃいました。
http://pixiv.cc/mirakichi/archives/51822031.html
やっていることは同じですし、パッチを使われた方がずっと楽チンだと思います。

まず、お断りしますがこれからの作業はセルシスさんの動作および保証対象外です。
動作は自己責任で。結果操作ががおかしくなったりファイルが開けなくなる可能性もあります。
また不具合の報告などをされる場合は、書き換え前で再現することを確かめてからお願い致します。

1.イラスタの実行ファイルがある場所を開いてilluststudio.exeをバックアップします。
illuststudio.exeをコピーしてリネームします。変更後のファイル名はたとえばilluststudio_la.exeとかにします。

2.次にstud_peを起動してリネームした実行ファイルを開きます。
File>Open PE file
law2.jpg

3.次に左下の方にある「characteristics」という列の右側にある「+」をクリックします。
新しいダイアログが開きます。
law3.jpg

一杯項目が並んでいますが、左列下から三番目の「Lage address aware」をチェックを入れ、「Save」をして「OK」を押します。
以上で完了です。

Vistaやwin7の場合はUACの関係で保存が出来ないかもしれません。その場合は、いったんリネームした実行ファイルをデスクトップなどの移動させて、そのファイルで2からやり直してください。
書き換えが出来たら元あったフォルダに戻してください。

4.書き換えた実行ファイルを起動します。
無事起動できたらイラスタの環境設定を開き、「メモリ>アプリケーションへの割り当て」を「自動」にしてください。
手動だとあまり効果がないようです。

以上です。

これで高負荷環境になると仮想メモリ(ハードディスク)へより沢山逃げるようになります。
メモリ不足のダイアログが頻発する大きいファイルでの作業でも、ダイアログが出にくくなりますが、出るときはやっぱり出ます。
また、高負荷環境時はハードディスクを積極的に使うのでレスポンスは低下します。
64bitOSなどで潤沢にメモリを積んでいる人はイラスタの仮想メモリの作成場所をRAMディスクに割り当てることで
パフォーマンスを改善できるかもしれません。
32bitOSの場合で、ハードディスクアクセスランプが点灯しっぱなしになっていたら、それはもうメモリを使い切っているので圧縮フォルダを使うなりレイヤーを統合するなど、ファイルを軽くする対策を取った方が良いかと思います。

<追記>
タスクマネージャとかから見える実メモリ使用量が4GBに増える、というわけではありません。
2GBを超えた分がより仮想メモリに移動しやすくなるという程度です。


最後にメリットとデメリットを。

メリット
・大規模なファイルも扱えるようになる(HDDに逃げ始めるとレスポンスが低下しますが)
・ダイアログに作業を邪魔されない

デメリット
・ノーサポート
・作成したxpgファイルを他の人が開けなくかもしれない
・後々バージョンが上がったときにファイルが読み込めなくなるかもしれない

こんな感じかと思います。
問題が無いようだったらセルシスさん側で有効にして欲しいなぁ。

※追記
>・作成したxpgファイルを他の人が開けなくかもしれない

これってどういう事?という質問を頂いたので補足です。
このLARGE ADDRESSAWAREフラグを有効にすることで標準より大きなファイル(レイヤーが多いファイル)で作業すること画出来ます。そうして出来たデータをフラグを有効にしていない人のイラスタで読み込ませると「このデータは大きすぎるよ」と怒られるかもしれない、という可能性の話です。

>・後々バージョンが上がったときにファイルが読み込めなくなるかもしれない

これの可能性はたとえばイラスタが今後さらに機能がてんこ盛りになったりで作業メモリが窮屈になった場合、大きめのファイルだとやっぱり「このデータは大きすぎるよ」と怒られるかもしれない、という可能性の話です。
個人的にはあまり高くない可能性だと思いますし、そうなったら普通の状態で作った大きめのファイルでも問題が出そうなのですが、可能性がまったくのゼロではないので記載させて頂きました。
スポンサーサイト
プロフィール

水玄ソバ

Author:水玄ソバ
下手の横好き。

MIDPINE名義はこちらへ。
SOBaLOG


suigensobaをフォローしましょう

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。