PotPlayer x64 1.7.22777 起動が遅くなった原因調査記録:問題は PotPlayer64.dll の初期初期化にあった

最近 PotPlayer を再インストールして LAV Filters + madVR を入れ直したところ、新規インストールした PotPlayer が毎回の起動で明らかに遅くなり、メインウィンドウが表示されるまで約 9 秒かかるようになりました。一方、ローカルにバックアップしていた旧インストールはほぼ一瞬で起動します。

この記事では、問題そのもの、切り分け過程、最終的に特定できた根本原因、そして実際に有効だった修復方法を記録します。

現象

  • 現在の新規インストール PotPlayer x64:コールドスタートからメインウィンドウが見えるまで約 9.2s9.6s
  • ローカルバックアップの旧インストール:コールドスタート約 0.65s0.85s
  • 直感的にはまず LAV / madVR / プレイリスト / ネットワークチェック / プロキシ を疑いましたが、結局これらは主因ではありませんでした

先に除外した方向性

まずはよくある外部要因を一通り隔離テストしました:

  • PotPlayer のユーザー設定を初期化/削除
  • 既定のプレイリストを空にする
  • 自動更新およびブラウザ関連オプションを無効化
  • PotPlayer の外部ネットワーク接続を一時的に遮断
  • プロキシ接続を確認
  • LAV Splitter / LAV Video / LAV Audio / madVR が単に再生経路の問題ではないか検証

これらの操作では起動時間はほとんど実質的に改善せず、遅さはこれらの設定レイヤーにはないことが分かりました。

重要な発見

その後、新規インストールとローカルバックアップを項目ごとに比較したところ、本当に違っていたのは PotPlayerMini64.exe ではなく、コア DLL でした:

  • 現在のインストール:PotPlayer64.dll 1.7.22777.0
  • バックアップのインストール:PotPlayer64.dll 1.7.22775.0
  • PotPlayerMini64.exe は両者でハッシュ一致
  • PotPlayer64.dll は両者でハッシュ不一致
  • どちらの DLL も Kakao の公式署名付き

つまり、バックアップが怪しい第三者改変版というわけではなく、公式ファイルのままコア DLL の小バージョンだけが異なっていました。

最も決定的な隔離テスト

非常に直接的な A/B テストを行いました:

  1. 同一のインストールディレクトリ、同一の設定を維持
  2. まず現行 22777 の起動を測定
  3. PotPlayer64.dll だけを差し替え
  4. もう一度測定
  5. 最後に 22777 に戻して再測定

結果は非常に明確でした:

  • ベースライン 227779510 ms
  • 22775 に差し替えのみ:771 ms
  • 再び 22777 に戻す:9626 ms

これで問題は他の環境要因ではなく、PotPlayer64.dll 1.7.22777.0 そのものにほぼ確実に絞り込めました。

もう少し細かい特定

「DLL のどこが遅いのか」を把握するため、起動時のスレッドサンプリングとタイムライン比較も行いました。

観測できた現象:

  • 旧版は約 0.65s でメインウィンドウが立ち上がり、その後にローカルプロキシへ接続しに行く
  • 新版は約 9.17s でようやくメインウィンドウが表示され、ネットワーク接続はウィンドウ表示後に発生
  • つまり「ネットワークで先に詰まっている」のではなく、「ウィンドウが出る前にプロセス内で約 8 秒を消費している」

さらにホットスレッドのサンプリングを見ると:

  • 遅い版の起動中、主な耗時スレッドが長時間 PotPlayer64.dll + 0x1C1F2AE に滞留
  • このオフセットは PE 内の .themida セクションに位置
  • 速い版は保護領域を素早く通過し、その後に通常の GUI 初期化へ入る

証拠から見る限り、1.7.22777 の x64 コア DLL が初期の保護/初期化段階で起動性能のリグレッション(退行)を起こした可能性が高く、プレイヤー機能の設定そのものの問題ではなさそうです。

ここは強調しておきます:これは実測とサンプリングに基づく工学的判断であり、ソースコードを入手した上での「絶対に確定した結論」ではありません。ただ、証拠は十分に強く、少なくとも LAVmadVR、プレイリスト、ネットワーク設定が原因ではないことは確実に言えます。

実際の修復方法

この環境では、クローズドな DLL を無理に改変するのではなく、現在のインストール内の PotPlayer64.dll を公式署名付きの 1.7.22775.0 に固定して戻すのが最も確実でした。

この対応後、本機での起動再測定は:

  • 851 ms
  • 814 ms
  • 815 ms

となり、ほぼ「秒起動」の状態に戻りました。

外部へのフィードバック

ついでに今回の調査を公開資料として整理し、Kakao の複数の公開連絡先に韓英バイリンガルでメール送付済みです。PotPlayer x64 の開発またはリリース工程に届いて確認されることを期待しています。

公開資料:

結論

今回の問題の核心は「PotPlayer の設定を壊した」ではなく、次の通りです:

  • PotPlayer64.dll 1.7.22777.0 自体に起動リグレッションがある
  • 1.7.22775.0 へ戻すことで起動速度を安定して回復できる
  • LAV Filters + madVR は主因ではない

今後 Kakao がこのリグレッションを本当に修正したら、改めて追記アップデートします。