メモリの使用量とクリアについて | CLIP STUDIO PAINTの要望・不具合ボード | CLIP STUDIO
よくある質問
教えて!Q&A
要望・不具合


CLIP STUDIO PAINTの要望・不具合ボード

更新日:2013/03/22 01:08:40
反対数:0
賛成数:21
返信数:6
閲覧数:33256
ID:36971
from Mevy さん
2013/03/13 18:18:58
 
インストール/動作環境

メモリの使用量とクリアについて

  メモリを8GB搭載し、そのうち4GBがCLIP STUDIO PAINTに割り当てられている環境で使用していますが、不具合なのかどうかわかりませんが、編集中に異様にメモリーを消費しているように感じます。

描画中にメモリを使い切った際、ヒストリーがもう必要なければ「メモリのクリア」を行なってメモリを開放することになりますが、クリアできる項目が現状では「ヒストリー」しかありません。
ヒストリーをクリアしても多くて30%程度、ひどい時は1%も開放されませんが、これは仕様ですか?
そうだとすると、メモリの大半がヒストリー以外の部分に使用されているということになりますよね。

そこでデータを保存して一旦閉じ、再度開くとメモリー使用量は15%程度にまで減ります。

この状態で、ヒストリーに残るような作業は一切せずに、画面のズーム・スクロールだけを繰り返すと、メモリー使用量が50%以上に増えていきます。
更に表示レイヤーのON/OFFを切り替えたりしていると、最終的にメモリーを100%まで使ってしまいます。
メモリ割り当てを5.2GBまで増やして再実験しましたが、やはり100%まで使ってしまいます。

メモリーの大量消費の原因はこの辺りにあるように見えます。
どうも画像キャッシュか何かを逐次メモリーに蓄積しているように見えますがどうでしょうか。
これを解放するには、ファイルを一旦閉じて開くしかないのでしょうか?

お返事お待ちしております。

------------------------------------------------------------
■バージョン:
※[ヘルプ]メニュー → [バージョン情報]で確認できます。

■グレード
PRO( ○ ) EX(   )

■OS
Windows XP(   )  Windows Vista(   )
Windows 7 ( ○ )  Windows 8(   )
MacOS X 10.5(   ) MacOS X 10.6(   )
MacOS X 10.7(   ) MacOS X 10.8(   ) その他(   )
------------------------------------------------------------
賛成数:21   反対数:0   
from
スレ主
Mevy
さん
2013/03/13 18:20:56
書き忘れですが、CLIP STUDIO PAINTのバージョンは1.2.0です。
from
CLIP
サポート担当
さん
2013/03/15 18:39:31
ご質問くださり、ありがとうございます。

CLIP STUDIO PAINTでは、描画表示を高速化するために、下記のようにメモリを使用しつつ動作しております。

<レイヤーの描画内容を表示する際の内部的な処理>
1.各レイヤーの画像を、表示倍率に近い、切りの良い倍率に縮小します
2.1つのフォルダー内について、1の結果を1枚に統合します
3.2を繰り返してすべてのレイヤーの画像を統合します
4.実際の表示倍率まで縮小し、キャンバスに描画内容を表示します

この段階を踏むことで、ペンの描画が引っかかることなく、高速に表示することが可能になっています。

また、2や3の工程で作成されたデータ(キャッシュ画像)を破棄せずにメモリに載せておくことで、
工程を省略化して結果だけを即座に返せるようにしています。

しかし、キャッシュ画像とレイヤー画像は、常に使える状態でメモリに載せている訳ではありません。

カラー画像の場合、1ピクセルあたり最低4Byteのメモリを使用しますので、縦横10,000ピクセルの
画像であれば、レイヤー1枚あたり400MBのメモリが必要になります。
これがレイヤー100枚であれば、40GBのメモリが必要になるため、キャッシュ画像がなかったとしても、
全てのレイヤーの画像を常にメモリに載せておくことはできません。

そこで、ファイルに保存するときにすべての画像を圧縮しています。

lipファイルを読み込んだ直後は、すべての画像が圧縮されたままでメモリに載っており、
必要になった時に、必要なデータだけを展開する仕組みになっています。

例えば、フォルダーのキャッシュ画像が既に存在すれば、そのフォルダー内のレイヤー画像は
展開しませんし、最初の表示倍率が25%であれば、25%のキャッシュ画像だけを展開します。

このため、ファイルを読み込んだ直後の状態では、メモリをあまり消費しません。

表示倍率を変更したり、レイヤーの表示・非表示を切り替えたりしますと、その際に
必要になったデータを展開してメモリに載せていますので、レイヤーに何も描画して
いなくても、メモリの消費が増えていきます。

そしてメモリの消費が100%に近くなると、展開している画像の一部を圧縮しています。
使用率は100%近くになりますが、ソフトウェアが使用できるメモリを最大活用しています。

一旦展開されたデータを明示的に圧縮(または破棄)することはできませんので、
この機能は今後のご要望として承らせていただきます。

現状では、ファイルを一旦閉じる操作でメモリを解放していただくことができます。

なお、キャッシュ画像等をlipファイルに保存しなければ、読み込み後に全てのデータを
展開する必要があり、一瞬でメモリを使い切ってしまう状態になります。
ファイルの容量が重たいというご意見も多く頂戴しておりますが、描画速度を高速化
するために、現状はそのようにしております。

よろしくお願いいたします。
from
スレ主
Mevy
さん
2013/03/16 00:35:22
詳細なご説明ありがとうございます。よく分かりました。
使っているうちに数%程度メモリ使用率が減ることがあったのは、そういうことだったんですね。

メモリを一時的に大量に使っても、最終的に開放されれば何ら問題ありません。
実際の作業では短時間にメモリがいっぱいになるわけではなく、長時間編集していて、気づいたらメモリを使い切っていた、ということがほとんどです。実際にはそんなにズーム等を短時間には繰り返しませんから、それでメモリが画像キャッシュでいっぱいということは、おそらくかなり古い、当分使わないであろうキャッシュがずっとメモリに残っているということなのだと思います。
ある程度は自動で圧縮されるのかもしれませんが、メモリに使わないデータを置いておくのはやはりもったいないですから、メモリ上のキャッシュを手動で開放できるように、ということでどうぞよろしくお願いいたします。

なお、ファイル容量が大きくなるのは個人的にはしょうがないかなと思っております。
容量の限られるメモリをなるべく空け、容量に余裕のあるハードディスクへキャッシュを保存しておくことは当然の設計だと思います(どこかへ送るにしても圧縮すればある程度小さくなりますし)。
と言ってもページが増えればサイズもどんどん増えますし、キャッシュは文字通りキャッシュ、いつまでも必要なデータではありませんから、こちらもユーザーの判断で削除できるようになれば完璧ですが…
from
CLIP
サポート担当
さん
2013/03/18 12:18:58
ご返信ありがとうございます。

メモリの消費や、lipファイルへのキャッシュ画像の保存は、前述のように、
描画速度など作業中の快適さを優先して現状の仕様にしておりますが、
他方、Mevy様を含め、多くのユーザー様より、メモリ使用率やファイル容量を
小さくしたいというご意見もいただいておりますので、オプション項目の
設置で自由度を高くするなど、より多くの方にご満足いただける仕様に
していければと考えております。

ただ、メモリ管理やlipフォーマットの仕様は、基本的な動作において
非常に重用且つ繊細な部分ですので、恐れ入りますが、検討や調査の
ためにお時間をいただきたく思います。

引き続き、何かございましたらご意見をいただければ幸いです。

よろしくお願いいたします。
from
tenmu_nako
さん
2013/03/21 02:47:49
オプションで、この部分に自由度が出るのは大賛成です。
 
最近は大容量メモリを装備したパソコンの人も増えていますので、
逆に「メモリを消費してもいいから処理速度を早くして欲しい」という人もいます。
 
是非、今の状態を標準として「メモリ節約」と「速度優先」の上下両方向への設定拡充を希望します。
 
例えばあるPSDファイル(レイヤー1000枚ほど)をPhotoshopとCLIP STUDIO PAINTで開くと、
Photoshopでは24GB消費しているのに対して、CLIP STUDIO PAINTでは12GBほどしか消費していません。
 
メモリ使用量が少ない点では評価できるのですが、実際に同じ倍率で手のひらツールで表示を移動したり、
拡大縮小や、同サイズの似たブラシの描画を行うと、CLIP STUDIO PAINTの方が描画が遅れている傾向にあります。
これはPhotoshopに比べてCLIP STUDIO PAINTがメモリを節約するモードで動作しているために描画が遅れている気がします。
 
最近はデスクトップ用の十万円台のパソコンでも、メモリ64GBモデルが多数出ていますし、
メモリを増設して32~64GBの環境のユーザーも多数います。
 
そうした「メモリを余らせているユーザー」に是非、メモリを消費してもいいから描画が速くなる設定を用意していただけると助かります。
改善の際には「速度を犠牲にしてでもメモリを節約したいユーザー」と「メモリが余っていて、速度に不満があるユーザー」の
両方がいるという事を念頭に置いて、設定の追加と改善を行っていただけると嬉しく思います。
from
スレ主
Mevy
さん
2013/03/22 01:08:40
>サポート様
今回の要望の主旨はメモリ使用率を小さくしたいというよりは、画像キャッシュ以外の用途のためのメモリ領域を確保したいということです。
そのため、個人的にはメモリの絶対的使用量、ファイルサイズの削減は二の次と考えており、速度を犠牲にしてでもメモリを徹底的に節約してほしいという意図はありません。
キャッシュ手動削除という要望とさせていただいたのもそのためです(きっとご理解いただいているものと思っておりますが念のため)。

これは単なる思いつきですが、もし技術的に可能であれば、x分間使われていない(あるいはヒストリーx回分使われていない)キャッシュデータは自動で圧縮あるいは仮想記憶へ移動、等の動作が出来ればメモリを効率よく利用できるのではないかと思います。ここでxの部分は可変できるようになればなお良いです。
このようにしてメモリを開放すれば、他にメモリを必要とする作業にメモリ領域を割り当てることができますし、何度もズームを繰り返す等の作業の場合でもパフォーマンスへの影響を最小限にすることができるのではないかと思います。そのような作業の多い人はxを増やしてキャッシュの保持時間を長くし、少ない人はxを減らすことでメモリを早く解放できることになります。
ただこういう部分を過度に自動化する必要はないかもしれませんが…

あるいは、Photoshopのようにメモリ領域をキャッシュ用と編集用に分け、キャッシュに割り当てる量(キャッシュレベル)を設定できるようにするなどもひとつの手段かもしれません。

素人の冗談みたいな発想かもしれませんが、少しでも参考になれば幸いです。
不安定になっては意味がありませんのでどうぞ慎重にご検討いただきたく思います。



>tenmu_nako様
CLIP STUDIO PAINTはサポート様が「描画速度など作業中の快適さを優先して…」とおっしゃるように、特にメモリ節約をする設計になっているわけではないと思います。

先日のサポート様の解説に

「lipファイルを読み込んだ直後は、すべての画像が圧縮されたままでメモリに載っており、必要になった時に、必要なデータだけを展開する仕組みになっています。」

とありますので、CLIP STUDIO PAINTでファイルを開いた直後のメモリ消費量は、Photoshopとは直接比較できないものと思われます。
CLIP STUDIO PAINTは最初キャッシュが圧縮された状態になっていて、表示に必要なキャッシュデータだけを展開しながらスクロールやズームを行なっているようですが、 Photoshopはそのようなことをせず、単純にファイルを読み出した時に予め必要な画像キャッシュを展開して一気にメモリに載せているようです。
ですからPhotoshopの方がファイル読み込み直後のメモリ消費が大きくなるのは当然です。

しかし、Photoshopの場合はスクロールやズームではメモリ使用量はほとんど変化しないのに対し、CLIP STUDIO PAINTはスクロールしたりズームするとその都度キャッシュが展開されるためメモリの消費がどんどん増えていきます。この時圧縮状態からの展開という作業を行なっているためタイムラグが起きるのだと思います。

そのレイヤー1000枚のPSDファイルをCLIP STUDIO PAINTで読み込み、ズームやスクロールなどを繰り返してみて下さい。最終的にPhotoshop以上にメモリを消費しませんでしょうか。

2019年11月28日に本サービスの投稿受付は終了いたしました。「CLIP STUDIO SUPPORT」をご利用ください。

よくある質問
教えて!Q&A
要望・不具合