Photoshopのレイヤの移動(上下左右)に関する謎(を読みました)

http://d.hatena.ne.jp/ryoko_komachi/20051019/1129910434: *失 言 小 町* さん


単純に実装すると、全てのレイヤを下層から上層まで合成してさらにリサンプリング(拡縮)します。
まず作業レイヤを選択した時点でそれより下層は合成して良いので、その分計算量は減ります。


ここでふと思ったんですが、計算自体しなければレイヤ移動はかなり高速に!
せっかくタイルで分けているのですから、そのタイルが表示されるかされないかを見て、されなければ位置だけを更新し、実際には計算しません。(高解像度だと画面からはみ出ますね)

そして拡縮時は、各レイヤはリサンプリングした状態で移動、合成を行います。
よって「2. 適切に縮小してから表示 (要フィルタリング<高負荷)」自体が不要ということになります。


通常時に合成した結果とは異なりますが、結構誤魔化せる範囲です(下の図のように*1。たぶん(笑))。
で、移動を終了したらきちんと計算しなおします。(各レイヤを合成し、リサンプリング(拡縮)する)


■□ ■■
■■ □□

これを50%でブレンド
■国
国国

さらに1/4にリサンプリングした結果
國(62.5%くらい)

                                                                                              • -

先に1/4にリサンプリングしたもの
國 国

これを50%でブレンド
國(62.5%くらい)


*濃度は四段階−■=100%、國=75%、国=50%、□=0%


Advシステムのレイヤ管理と一緒ですね。

*1:アルゴリズムによって結果は変わりますが