Obsidianが重い時にやること
いつのまにかObsidianの動作が遅くなってしまったので調査しました。備忘録として残しておきます。
調査方法
コミュニティによって運営されているObsidian HubにHow to debug why Obsidian is running slowlyという記事がありました。これに従うだけです。
これで記事が終わっても意味がないので実際に筆者のたどった道筋を紹介します。
制限モードにする
まずは「コミュニティプラグインが原因かどうか」を見極めるため、すべてのコミュニティプラグインを無効化します。
設定の「コミュニティプラグイン > 制限モード」の「Turn on and reload」をオンにします。
これで解消されたらプラグインが原因ということになります。
制限モードが有効になっていても遅ければバグの可能性があるため、Obsidian Forumへ報告しましょう。
どのプラグインが原因か?
筆者は制限モードにしたら爆速になったため、プラグインが原因だと判明しました。
ここからは「どのプラグインが原因か」を調査します。
プラグインの数が少なければ、1つずつオンオフして動作確認するだけです。
でもプラグインが多かったら面倒ですよね?
How to debug why Obsidian is running slowlyを見ると”divide and conquer”を使おうって書いてありました。アルゴリズムの一種です。 日本語では分割統治法といいます。
知らない人はいきなり分からない言葉が出て混乱するかもしれませんが、単純な話です。
プラグインが8個あるとします。そのうち半分(=4つ)を有効に、残りを無効にして動作確認をします。
これで問題が解消されれば、無効にしたプラグインの中に原因があります。逆に重いのであれば有効にしたプラグインに原因があります。
あとはこの繰り返しです。怪しい方のうち半分(2つ)を有効にし、残りを無効にして動作確認……のようにあたりをつけていけば分かります。
Neovimのプラグインでも同じようなことしたなぁ。
これすらも面倒くさい人向けにプラグインDivide & Conquerも用意されていますが、筆者は上記のように手動で調査しました。
結果
筆者の場合、Thinoが遅くなる原因でした。
もう少し詳細に条件を絞りたいところでしたが、ひとまずQuickAddとMeta Bindで似たようなことはできたため、Thinoはいったんアンインストールしました。
体感として10倍ぐらい速くなった!
本質的な原因はプラグインを同時に入れまくってどれが重くしてたのか分からずに使ってたことです。重い腰をとっとと上げるべきでした。
今までDataviewとかVimモードのせいかなとか疑って申し訳ないです。ごめん。
Thino、また会ったらよろしく。