Android版RetroArchの音割れを、処理落ちを隠さず直す方法
同期設定を既定値へ戻し、shaderとrun-aheadを外して、音割れ中のエミュレーション速度を確認します。コアの目標速度を下回るなら、先に負荷を減らします。バッファーを増やしてもCPU時間は増えません。速度が安定している場合だけ、端末スピーカー、固定リフレッシュレート、控えめなレイテンシー変更を一つずつ試し、ログと復元可能な基準設定を残します。
この順序で原因を切り分ける
- 01
RetroArchとコアの版、音声/映像ドライバー、画面更新モード、出力機器、音割れが始まる場面を記録します。
- 02
同期と音声を既定値へ戻し、shaderとrun-aheadを無効化し、録画アプリを閉じて同じ許諾済みコンテンツを再起動します。
- 03
数分間速度を確認し、音割れと同時に低下するなら、レイテンシーより先にコアと映像の負荷を減らします。
- 04
速度が安定している場合、BluetoothとUSB音声を外して端末スピーカーを試し、メディア音量とAndroidの音声フォーカスを確認します。
- 05
RetroArchのリフレッシュレート計測値またはAndroidの固定モードで再試験し、基準ではdynamic rate controlを有効に保ちます。
- 06
音声レイテンシーを控えめに一度だけ変更し、端末が温まった状態で同じ場面を試し、遅延が許容範囲で改善した場合だけ保存します。
証拠と次の確認
| 確認できたこと | 可能性が高い境界 | 次の操作 |
|---|---|---|
| 音割れと同時に速度が目標未満 | コア負荷、映像負荷、熱による制限 | 効果を外して持続速度を測る |
| 速度は安定しBluetoothだけで発生 | Androidの経路、codec、無線処理 | スピーカー後に機器を一つだけ再接続 |
| 速度は安定し映像も周期的に乱れる | リフレッシュ/vsync同期 | 更新率を測りdynamic rate controlを戻す |
| 極端に低いレイテンシーだけで発生 | 音声バッファー不足 | 直前の安定値へ戻す |
音声は処理能力不足を最初に知らせやすい
エミュレーターは機械を進めて映像を出しながら、一定速度で音声を供給します。コアが目標速度を維持できないとバッファーが空になり、見た目の遅れより先に音割れが出ることがあります。
表示FPSだけでなくコアの速度を測ります。機械の時間を保ったままframeを省く場合も、エミュレーションが遅れているのにframeを表示する場合もあります。
同期は速度スイッチの寄せ集めではない
RetroArchのdynamic rate controlは、コンテンツと画面のわずかな時間差を調整します。同期項目をまとめて無効にすると、症状が移る一方で動きの乱れ、音程変化、遅延増加を招くことがあります。
既定値へ戻し、実際の更新率を確認して一層ずつ変更します。threaded videoは一部端末でドライバー負荷を減らせますが、Libretroは滑らかさと遅延の代償を示しているため、記録を伴う代替策です。
Androidでは端末が温まった後の結果を重視する
Android端末は熱負荷によりCPUやGPU性能を下げることがあります。最初の1分は正常で後から音割れし、同時に速度も落ちるなら、持続性能の境界が疑われます。
同じ電源モード、明るさ、バックグラウンド負荷で温まった後に再試験します。1台の値を一般化せず、端末、出力経路、コア、場面とセットで記録します。
自分で合法的に取得したdump、作者が許諾したコンテンツ、または自作テストプログラムを使ってください。有名な商用ゲームは音声診断に不要で、設定変更によってコンテンツの権利が変わることもありません。