2024年5月25日、久しぶりに『チームファイトタクティクス』(以下、TFT)を遊んでみようとすると、なぜかゲーム画面が恐ろしくカクつき、まともに操作できなくなりました。(FPS値1~0まで低下)
原因は、フリーのWindows用プログラムランチャーソフト「CLaunch」との競合。CLaunch側の設定を変更することでTFT側のパフォーマンス低下不具合が発生しなくなり、正常に遊べる状態に戻すことができました。
今回は、私のようにCLaunchを使っている方向けにPCゲームとの競合を回避する方法を紹介したいと思います。
手っ取り早く結論だけ見たい方は、↓の目次から「結論」へジャンプしてください。
- [不具合発生時のバージョン情報]
- 【症状】マウスを動かすとカクつき、動かさなければ全くカクつかない
- 【調査】検索でヒットなし。マウス関連の常駐ソフトを一つ一つ停止して改善するか確認してみた
- 【検証】CLaunchを常駐させたままにできないか試行錯誤
- 【結論】”フック解除”機能を使って解決
- さいごに
[不具合発生時のバージョン情報]
- Riot Client
- V86.0.3.1523
- TFT(LoLクライアント)
- ゲーム バージョン - 14.10.5858823+branch.releases-14-10.code.publick.content.release.anticheat.vanguard
- リーグクライアント バージョン - 14.10.584.5961
- CLaunch
- 64-bit Version 4.06
【症状】マウスを動かすとカクつき、動かさなければ全くカクつかない
ゲームのランチャー側では全くカクつきません。マッチング完了後に立ち上がるクライアント側(実際に操作するゲーム本体のウィンドウ)でカクつきが発生しました。クライアント起動直後の試合開始前ローディング画面からすでにカクカクです。
ゲーム画面の右上に小さく表示されているFPS値を見ると、めちゃくちゃ不安定でひどいときはFPS値0まで下がりました。しばらく挙動を観察していると、どうやら”ゲーム内でマウスカーソルを動かすと”カクつくことが判明。マウスカーソルを動かすたびにFPS値が下がっていき、マウスから手を離してしばらくするとFPS値は回復。数秒後には平常時の安定したFPS値に戻りました。しかし、また少しでもマウスを動かすとFPS値が低下し、カクつきがひどくなります。
私が遭遇した症状は、大体こんな感じです。ゲーム画面の外ではなんともありませんが、ゲーム内だけまともに操作できない状態でした。
【調査】検索でヒットなし。マウス関連の常駐ソフトを一つ一つ停止して改善するか確認してみた
ネットで検索してみても、私と同じような症状で困っている人は見当たりません。(検索キーワードがズレていた可能性もありますが、このときはこれといった情報を見つけられませんでした)
ということは、ゲーム側ではなく私のPC環境に原因がある可能性が高そうです。グラフィックドライバーやWindowsアップデート、CPU・GPU・メモリなどを異常に動かしている別のソフトがないかなども確認してみましたが、特に問題ありませんでした。グラフィック周りではなさそう。
次は、不具合の発生条件が”マウスを動かすと”という点に着目し、マウスに関係するソフトを確認。私が使っているマウス関連のソフトは、「MouseGestureL.ahk」と「CLaunch」という2つの常駐ソフト。それぞれ一つずつ終了してみて何か変化があるか見てみます。MouseGestureLは変化なし。ですが、CLaunchを終了すると症状が出なくなりました。
これで、TFTがカクつく原因はCLaunchであることが判明しました。
【検証】CLaunchを常駐させたままにできないか試行錯誤
原因となっているものはわかりましたが、昔から使っている便利なフリーソフトなのでアンインストールはしたくありません。ですが、TFTを遊ぶたびに毎回手動で終了→再起動をするのも面倒。。
CLaunch側の設定変更でなんとかできないかと、”制限モード”なども試してみましたが改善しませんでした。
【結論】”フック解除”機能を使って解決
CLaunch公式サイトで他に使えそうな機能はないか調べてみると、少し前に追加された「フック解除 」という新機能を発見。
さっそくアップデートしてフックを解除してみると、TFTのパフォーマンス低下不具合がまったく出なくなりました! 良かった~。
(↓[Ver. 4.05で追加された機能] - [フック解除]の項目を参照)
上記の説明ページによると、フック解除機能は自動でON/OFFする設定もできるそうなので、さっそくやってみることに。しかし、やってみると自動ON/OFF切り替えのタイミングがイマイチうまくいきません。。
TFTでは、1試合ごとにゲーム本体の実行プログラム(ゲームクライアントウィンドウ)が別で起動し、その試合が終了するとゲーム本体の実行プログラムも終了するようになっています。
紹介されている手順通りにゲーム本体の実行プログラムを指定すると、確かに1試合目終了後に自動でフック再開(フック解除がOFF)されるのですが、そのまま2試合目を始めると今度は自動でフック解除してくれず、またカクつく不具合が出てしまいます。つまり、1試合目だけは自動ON/OFFが期待通りに動作しますが、2試合目以降は期待通りに動作しません。結局、手動でON/OFF切り替えする必要があります。
それならばと、ゲーム本体ではなくランチャー側を指定し、ランチャー終了時にフックを自動再開するように変更してみました。これなら、2試合目以降もフック解除されたままですし、ゲームを終わるときはランチャーも終了させるので、おおよそ期待通りの動きになるのではないかと。
結果は、無事に期待通り動きました。ゲームのランチャーを終了させるまではタスクトレイのアイコンからしかCLaunchのページを表示できなくなりますが、フック解除を手動で切り替える手間が省けるのは楽でいいです。
ついでに、タスクトレイにあるCLaunchアイコンをCtrl+左クリックすることで、フック解除/再開を一発で切り替えられるように設定しました。他のゲームで似たような不具合が出ても、これで素早く対処できるはず。
フック自動解除の設定方法は上記の説明ページにも載っていますが、画像付きの手順をこちらにもまとめておきます↓
[CLaunch]フック解除の自動ON/OFF設定手順
- LoLクライアントを起動しておく(試合は始めなくてOK)
- CLaunchに登録したボタンを右クリックする
- 「プロパティ」をクリックする
- 左下の「フック自動解除の設定」をクリックする
- 「起動前にフックを解除する」にチェックを入れる
- 「以下のプログラムが終了したら自動でフックを再開する」にチェックを入れる
- 「ウィンドウ参照」ボタンをクリックする
- ”ウィンドウタイトル:League of Legends、ウィンドウクラス名:RCLIENT”の項目をクリックする
- 「OK」ボタンをクリックする
- フック自動解除の設定ウィンドウの「OK」ボタンをクリックする
- アイテムプロパティウィンドウの「OK」ボタンをクリックする
[CLaunch]タスクトレイのCLaunchアイコンをCtrl+左クリックしてフック解除/再開を切り替えられるように変更する設定手順
- 画面右下のタスクトレイにあるCLaunchアイコンを右クリックする
- [オプション]をクリックする
- [マウス]タブをクリックする
- マウス操作欄の”対象”を「タスクトレイのアイコン」に変更する
- マウス操作欄の”操作”にある「Ctrl+左クリック」をクリックする
- マウス操作欄の”割り当て機能”にある「フック解除」をクリックする
- [OK]ボタンをクリックする
手順5の「Ctrl+左クリック」は自分が使いやすいものを選んでください。
さいごに
このパフォーマンス低下不具合は、同じランチャーを使っているLoL(リーグ・オブ・レジェンド)でも発生しました。しかし、LoR(レジェンド・オブ・ルーンテラ)では発生しませんでした。一応、参考までに。
先月まではフック解除機能を使わなくても不具合なく普通にTFTを遊べていたはずなので、アップデートで内部処理かなにかが変わったのでしょうね。最初はPCの故障の前兆かと、一瞬焦りました。(^^;)
ひとまず、原因と回避策が見つかって良かったです。今後のアップデートでこの不具合が直るといいな~。
以上、何かの参考になれば幸いです。
最後までご覧いただき、ありがとうございました!