ゲームラグ白書 › L2 クライアントのOS・端末
オーバーレイソフトの干渉 Overlays and screen hooks
原因ID co-overlay · 主担当 外部・外部 · 副担当 ゲーム開発チーム・クライアント開発
図と実験のあるメインページでこのカードを開く →
メッセンジャー・ランチャー・録画・FPS表示のソフトが、ゲーム画面の上に自分のUIを重ねて描くため、ゲームのレンダリング処理に割り込みます(フック)。フレームごとの処理が増え、ときどきゲームとぶつかって一瞬止まったり、ゲームが強制終了したりします。
なぜ メッセンジャー・ゲームランチャー・グラフィックボードのツール・録画ソフトのオーバーレイが有効 → すると フレームを画面に出力するたびにオーバーレイが割り込み、自分のUIを重ねて描く → 画面では フレームが少しずつ遅れ、通知が出た瞬間に一瞬止まったり、グラフィックの不具合・強制終了が起きたりする(プレイヤーには切断のように見える)
- 症状
- カクつき, フリーズ, 切断
- 要因
- ストール
- 誰に起きるか
- 自分だけ
- いつ
- 常に, ときどきランダムに
- 担当
- 主担当 外部・外部 · 副担当 ゲーム開発チーム・クライアント開発
- ゲーム開発チームの対応
- クラッシュレポートとカクつきのログに、実行中のオーバーレイの一覧もあわせて収集。
- 外部の対応
- 報告があれば、ユーザーにオーバーレイをすべてオフにして再度試すよう案内。
- グラフでは
- 一部だけ高い · フレームタイム・クラッシュ数(オーバーレイを有効にしているユーザー)
- 確認箇所
- オーバーレイをすべてオフにして同じ場面のPresentMonのフレームタイムを比較し、クラッシュがあればイベントビューアーのイベントID 1000にある、障害が発生しているモジュールの名前(Faulting module name)を確認
- 該当する場合
- オーバーレイをオフにすると一瞬の停止・グラフィックの不具合が消えるか、クラッシュの障害モジュールがオーバーレイソフトのDLL
- 該当しない場合
- オーバーレイをすべてオフにしても同じなら、グラフィックドライバーか「クライアントのクラッシュ」
- 確認手段
- ユーザー側の環境で確認
- もっと詳しく
- 特定の人だけがカクついたりゲームが落ちたりして、スペックでは説明がつかないときは、まずオーバーレイとゲームのセキュリティモジュールの衝突を疑います。
出典
- Steam Overlay (Steamworks Documentation) Valve
Steamオーバーレイは、Steamから起動したゲームに自動でフックして割り込む。その仕組みのせいで、ゲームのレンダリングAPIの使い方にあるメモリエラーが表面化し、クラッシュすることもある - PresentMon Capture Application (README-CaptureApplication.md) Intel
FrameTime(フレーム間のCPU時間)でフレームごとの時間を記録 - The application or service crashing behavior troubleshooting guidance Microsoft
アプリケーションログのイベントID 1000には、障害が発生しているモジュールの名前(Faulting module name)が含まれる。別のモジュールの破損が原因で、Windowsのモジュールが障害モジュールとして記録されることもある
あわせて読みたい原因
同じ層:L2 クライアントのOS・端末
同じ症状(カクつき)を起こすほかの層の原因
図と実験のあるメインページでこのカードを見る