ARTSAK blogs

<

zbのuiが消えた場合の対処法。

症状が稀で直した場合試せないぽいのであくまで推測になります。

こんな風にカスタムしたものが消えるのですよね。

f:id:ARTSAK666:20171111225314p:plain

 

元々はこう

f:id:ARTSAK666:20171111225345p:plain

 

あと多分そうだろうって感じなので。

明確にどうかって話は聞かれても出来兼ねます。

zbの設定(環境諸々)は起動時に環境として一回読み込む物と追記して読み込む形が有るようです。

 

分かりやすい物だと

zbの設定にstartupとデフォルト環境にブラシが有るのでお分かりになると思います。

ただuiのボタン等もこのデフォルトロードに相当しますが

多分デフォルトロードは一部キャッシュとしてロードされているようですね。

 

どうしてこれが起きるのか分からないのですが

Startup型のロードの場合はキャッシュされないのかuiのファイルがリロードされるのか

これは抑止されます。

 

ちょっと分かりにくいですね。

 

f:id:ARTSAK666:20171111223928p:plain

これが設定には有るがキャッシュされてないので空欄になる状態

ブラシのロードをしてキャッシュされるとこれは埋まる訳です。

f:id:ARTSAK666:20171111224215p:plain

このようになります。

これはまぁ正常な状態。

2バイト文字起こさせているヤツですね(バグのはず)

 

 

問題はデフォルトロードのuiの話。

多分コレ設定ファイル貰ってもSS貰ってもなった人にしか分からないし

解決法明確に知ってない限り答えるのすら無理な気がします。

逆になったことで解決方法知っている場合何も見なくても答えられる気がします。

 

多分外見からは

ディスクセーブ(設定ファイル)→ロード

 

でuiはロードされているように見えるのですが、恐らく

 

ディスクセーブ→キャッシュ→ロード

こうですね。

そしてデフォルトロードは基本は

キャッシュ→ロード

で行われていると思います。

(あくまで思いますです)

 

それでこのキャッシュ→ロードであるが故の問題ですね。

あとどうもデフォルトロードの場合はui.cfgを読んでも再起動でもキャッシュを読むぽいです。

 

ディスクセーブ的にはセーブされていてそこにuiが有るはずなのですが

デフォルトロードで読み込まれたuiに関してはデュプリケイトされた場合

優先度が元々uiに存在している場所が優先されて複製された方の優先度が下がり

キャッシュ上ではuiにはそのファイルは無いという状態になるみたいです。

 

分かるかなぁ・・有るけど無い状態。

当然無いので無いって状態で上記のブラシボタンの話に近い事

 

ただブラシボタンはデフォルトロードとスタートアップロード2つとも存在している上に追記してロード出来るので大した問題では無いです。

uiの場合実質デフォルトロードのみですが、この両者の違いはリロードされるか否かみたいな部分みたいです。

 

一応解決法?

つまりですね。

ui.cfgをただ読み込んだだけだと解決はしない

 

要はリロードが必要って事、

 

ただデフォルトロードは普通だとアクティブにリロードは出来ない

って事で解決法が有ったようなのですが。

恐らくなんですが右上に有るユーザーレイアウト等を使うと良いかも知れないです。

 

f:id:ARTSAK666:20171111232531p:plain

ユーザーレイアウトとしてセーブして他のuiから切り替えて戻しても

多分ディスクロードする様な気がします。

 

気がしますって言うのはうちのキャッシュは直してしまったので

又、壊れないとこれが試せないからなんですよね。

 

このキャッシュ内(多分)から優先度でデフォルトロードのuiが消えてしまう理由とタイミングは分からないのと

結構、低確率+基本又置き直せば良いので問題としてはイラつく程度の話なのですが

多分メカニズムとしてはこんな感じの事で回復法としてはこういう理屈で多分

解決出来ます。

 

一応、実際に回復だけはしたのです。

ただ試すためには再発してキャッシュがそうならないとだめぽい。

治った環境でcfg読んでもちゃんとui出てくるんですよね

 

あと

マクロのアイコンは消えたことが無いのでこちらもデフォルトロードではない臭い?

(消えたことが無いだけかも)

あと原理的に恐らくアクティブにuiリロードしているはずのShelftool pluginを使っている場合は自動的に回復すると思います。

 

自分はこれからの環境だとShelftool plugin使うせいでもしかしたら

発症しにくくなるのでこれの検証はしにくくなるかもしれません

 

ええっと一応メカニズムは大体分かって発症原因も大体突き止めました。

対処法も大凡の推測で有っているようです。

 

 

原理と言うかメカニズム。

恐らくですがデフォルトロードに多いuiに関しては特にぽいんですが

何らかの形で画面切り替えをした場合

(多分縮小とかウィンドウ乗せるとか?)

zbが描画の為にキャッシュしている物に対して優先度が発生する為のようです

どの程度どの頻度どの状態では言い切れないのですが。

 

対処としてはやはりこれはuiをアクティブにリロードし直すのが正しいみたいです。

一番手軽な方法がShelfツールを使うのが結果楽だと思います。

シェルフで登録した同じ形の状態のuiに対して有効かどうかは不明ですが

Shelfが切り替える際にリロードしてくれるのでこれで対応は可能です。

 

デフォルトの機能だとユーザーレイアウトでも同様でしょうね

(実はずっと使ってないのでセーブの仕方を知らない)

 

メカニズムと再発の再現もやや出来たので再発から確認まで検証出来ました。

原理はまずそれで間違いないようです

Shelfツールを使っている前提であるならばですが同じ画面をリロードするだけでも修復可能ですね。

ユーザーレイアトで戻るかは試してないのでちょっと分からないですが

多分治りますね。