ペイント操作を元に戻せる回数に制限はありますか?

Piranesiで、元に戻す(UNDO)、再実行(REDO)の操作が何回まで行えるかは、制限があります。
ただし、一律ではなく、以下の2つの要素によって決まります。
- 操作のメモリの分量
- 操作のメモリをどのくらいの分量まで保存できるかの設定(=「UNDOバッファ」の最大値)

 元に戻せる回数の決まるしくみ
Piranesiで何らかの操作を行うと、その操作を元に戻したり再実行できるよう、操作のメモリが「UNDOバッファ」に保存されます。

下の図は、操作のメモリがUNDOバッファに保存される概念を示しています。
1回の操作が長方形1個分と考えてください。

操作を行うと、そのメモリがUNDOバッファに蓄積されていきます。(<1>、<2>、<3>)
ペイント回数が増えると、UNDOバッファに保存されているメモリの総量も増加し、やがて最大値に近づきます。(<4>)
すると、直前に行った操作のメモリを保存する領域を確保するために、最初に行った操作から順に、メモリがUNDOバッファから削除されます。(<5>)
この時点で、最初に行った操作の「元に戻す」、「再実行」が行えなくなります。
これが操作を元に戻すことのできる回数の上限となります。

 

 メモリが大量に使用されるのはどんな場合?
上の図では、わかりやすいようにそれぞれの操作のメモリ量を同じにしていますが、実際の作業では、1回のペイントで使用されるメモリ量は、使用するEPixファイルのサイズや操作の内容に応じて異なります。

以下のような場合は、メモリが大量に使われます。
・EPixファイルのサイズが大きい
・広い領域をペイントする(画像全体の塗りつぶしなど)
・複雑なペイントを行う
 例)大きくて葉の細かい樹木の点景を多数配置する、複雑な形状のブラシを使って復元や点描を行う、など

ペイントで使用されたメモリ量の合計は、「ファイル/プロパティ」コマンドの「メモリ」で確認することができます。

 元に戻すことのできる回数を増やすには?
UNDOバッファの最大値は、Piranesiの基本設定で設定できますので、元に戻すことのできる回数を増やしたい場合は、UNDOバッファのサイズの最大値を増やします。

  1. 「編集/基本設定」コマンドを実行して「一般」タブを選択します。

  2. 「UNDOバッファの大きさ」の「最大のサイズ」に、KB単位で指定します。
    デフォルト値は64MBです。
    設定できる値の上限は2GBまでです。
    注意)上限に近い値を設定すると、他のアプリケーションの動作に影響する可能性があります。値を増やす場合は、デフォルト値から、1MB、2MB・・・と、少しずつ値を増加させるとよいでしょう。