SAIで絵を描いてると原因不明のエラーが出るようになったのですよ(´・ω・`)
あ、今は原因も分かり、快適に お絵描きしておりまする(・∀・)
以下、解決までのムダに長い奮闘記。
3月ごろから急にSAIでエラーが出るようになりますた。
描いている最中に いきなり【EXCEPTION_ACCESS_VIOLATION】で操作不能に。
キーボード押すたびに【EXCEPTION_ACCESS_VIOLATION】が出て、最終的に『エラーによりキャンバスが破壊された可能性があります』と。
マジで?!Σ(-∀-;)
かろうじてメニューバーのクリックが可能だったので、そこから保存はできた。
保存後、再度 開く事もできた。
どうやらファイルは壊れてないっぽいε-(´▽`) ホッ
が、その後から調子が悪くなった。
SAIの終了時に【EXCEPTION_ACCESS_VIOLATION】が出る。
やっぱりファイルの どこかが おかしくなったのかな。。。
その絵は完成して、そのあと3枚 描いたけど、エラーは出ず。
やっぱり あのファイルが おかしくなっちゃってたのかも。
そんな矢先、別の絵を描いてたら、またSAIの終了時に【EXCEPTION_ACCESS_VIOLATION】が。
なーんーでーーーー。
しかも【EXCEPTION_ACCESS_VIOLATION】だけじゃなく、Ctrl+Zで戻ろうとした時に『編集のキャンセルを行いました』とメモリ不足のようなエラーも。
メモリ2G積んでるんだから、メモリ不足はありえない。
SAI上でも ちゃんと2Gを認識してるし。
さらには、描いてる最中にも【EXCEPTION_ACCESS_VIOLATION】が出て、今回は保存もできずi|||i_| ̄|○i|||i
下描き中は なんともなかったのに、色塗り始めるとエラーが出るようで。
レイヤーが多すぎるのか?
いや、以前は もっとレイヤー枚数 多くてもエラーは皆無だったんだけど。
SAIの公式Q&Aによると、SAIで読み込めないPNGファイルがあると【EXCEPTION_ACCESS_VIOLATION】が出るらしい。
資料は大半がPNGファイルなんだけど、ちゃんとSAIで読み込めてるし、ファイルビューアでも問題なく表示される。
それにエラーが出るのが開くときじゃなくて終了させる時だし…
一応、全ての資料を隔離させてみた。
ダメですたorz
他に思い当たるのは、エラーが出るようになった頃にテクスチャを色々と入れた事。
SAI用アップローダーのテクスチャ置き場で拾ってきたものだけど、なんかマズいのあったのかも知れない。
と、入れたテクスチャ全部消してみたけど、やっぱりダメ。
そうだよね、変なのあったら、書き込みあるよね。
じゃあ、一体 何が原因なんだ(;´Д`)
エラーが出るようになった頃に入れたソフトをアンインストールしてみた。
でも、ダメ。
関係なかった。
SAI自体が おかしくなった可能性もある。
と、再インストールしてみたけど、それでもダメ。
しかも、ただの再インストールではショートカットーキー設定や最近使ったファイルはリセットされなかったので、設定ファイル探し出して消したりレジストリもいじって完全に綺麗にしてからSAIをインストールし直してみたけど、変わらず。
メモリ不足に似たエラーが出るから、そこから考えてみた。
まず、レイヤーを結合してみた。
が、相変わらずダメ。
レイヤー枚数とか関係なさそう。
それに、同じファイルでもエラーが出ない時もある。
原因が分からないだけじゃなく、どういう条件でエラーが出るのかさえ不明。。。
SAIの終了時にエラーが出る以外は特に実害はないから、このまま放置してもいいのかも知れないけれど、やっぱり警告音と共に終わるのは気分のいいものじゃない。
それに、稀に操作不能になる事もあるしね。
なんとか原因を突き止めて解消したい。
そして、どうやってググったのか覚えてないけど、次に辿り着いたのがデフラグ。
ここ2〜3年やってなかった(ノ∀`)
断片化テラヒドスww
ついでだからとデフラグツールをインストール。
これで もう大丈夫か??
やっぱりダメだorz
PCが悪くなったのか?
と、エラーが出なかった頃まで遡ってシステムの復元してみた。
が、ダメ。
IE8やXPのSP3が影響してるって事はないと思うんだ。
この2つを入れてSAI使ってる人って いっぱい居ると思うし。
てか、SP3入れるのに めっちゃ時間かかったから、正直そこまでは復元で戻りたくない。
復元&復元の取り消しで何時間かかるか……
これは最後の手段としよう。
エラーが出なかった頃まで戻してもダメなので、PCじゃなく、ファイルの方に問題がありそう。
まず、昔のファイルを引っ張り出して あれこれしてみた。
うん、エラーは出ない。
次に おかしくなったファイルで全く同じ操作をしてみた。
はい、【EXCEPTION_ACCESS_VIOLATION】出たー。
原因はファイルにある事が判明。
これで ようやく一歩前進。
やっぱり『破壊された〜』の時に壊れちゃったのかな。
別名で保存してみた。
ダメ。
新しいファイル作って、そこにドラッグ&ドロップでコピー。
これも、ダメ。
また新たにファイル作って、今度は全選択でレイヤーを一枚ずつ手動コピー。
線画だけコピーした時点でエラー発生。
色塗りも関係ないようで。
ここで、新たに分かった事。
自動選択ツールを使うとエラーが出る。
また一歩前進。
発生条件が分かったので、検証がラクになった!
今度は一枚ずつコピーするごとに自動選択ツールを使ってみる事に。
一枚一枚確認してみたけど、特に問題ない。
元のファイルと同じようにレイヤーセットに放り込み、レイヤーマスクを作成。
さらに《領域検出元に指定》にチェック入れて、自動選択ツール使用。
ここでエラー出たーーー!!
やっと原因に辿り着いた。゚(゚´Д`゚)゜。
レイヤーセットとレイヤーマスクと領域検出元に指定の組み合わせがエラーの原因だった!!!
レイヤーセットにレイヤーマスクを作成。
そのレイヤーセット、または そのレイヤーセットが入った親レイヤーセットを領域検出元に指定する。
この条件で自動選択ツール使い、キャンバスを終了すると【EXCEPTION_ACCESS_VIOLATION】が発生。
文章だと分かりづらいので、レイヤー構造のキャプも貼っとく。
※クリックで拡大
レイヤーマスクをレイヤーセットじゃなく中のレイヤーに作成すれば、エラーは出ない。
そういえば、前はレイヤーにレイヤーマスク作成してたんだよね。
線画修正する時に別レイヤーで描き直すんだけど、結合するとレイヤーマスクも一緒に適用されちゃう訳で。
結合じゃなくて転写すれば おkなんだけど、以前うっかり結合しちゃって、なんでレイヤーマスク無くなってるのー?ってなった事があって。
それが嫌でレイヤーセットにレイヤーマスクを作るように変えたんだ。
これが、いきなりエラーが出るようになった原因か(-∀-;)
やっと すっきりした。
レイヤーセットにレイヤーマスク作れないのは不便だけど、仕方ない。
万一 結合しちゃった時にに備えて、線画をコピーしたファイルを作っとく事にするぉ。
で、この件を開発者様にメールしときますた。
名前は書かずに匿名で出しといたけど、メアドは ちゃんと表示されてるから、そんなに匿名性はナイw
メールして3週間ほどたつけど、特に返事は来ず。
あれ? この現象オイラだけ?