0

RayWenderlichのGKSessionに関するチュートリアルとMattGhallagherのオーディオストリーミングに関するチュートリアルに基づいて、あるiPhoneから別のiPhoneに音楽をリアルタイムでブロードキャストするアプリを実装しました。

ポーカーゲームのUIを独自のものに置き換えることを決定するまで、すべてが完璧に機能しました。その結果、ネットワークスループットが急激に低下します。以下は、サーバーのプロファイラースナップショットです。これはサーバーのプロファイラーです

これが元のアプリのクライアントのスナップショットですここに画像の説明を入力してください

これは、更新されたUIを備えたアプリのクライアントのスナップショットです(ホストは古いものと同じです)。 ここに画像の説明を入力してください

覚えておくべきことの1つは、UIを変更しただけでなく、ネットワークコードも少し変更したことです。これにより、処理速度が低下していると思います(UIで多くのパフォーマンステストを行いました。 。すべてのベルとホイッスルを削除すると、同じ速度が低下します)。

何か案は?GKSessionブロードキャストの可用性を維持すると、処理速度が少し遅くなるとの提案もありました。私のアプリではそうではないことを確認しました。

更新:( 機器を使用して)ネットワーク分析を調べたところ、未知のプロセスによるネットワークアクティビティがたくさんあるようです。その未知のプロセスを検出する方法はありますか?これは、優れたアプリのスクリーンショットです。ここに画像の説明を入力してください

悪いアプリのスクリーンショットは次のとおりです。ここに画像の説明を入力してください

2つの違いに注意してください。一方は他方よりもはるかに多くのネットワークアクティビティを使用します。アイデア?

4

1 に答える 1

1

同じGKSessionインスタンス変数を指す2つの異なるオブジェクトがあったことがわかりました。いくつかの理由で速度が低下しました。イライラする部分は、GKSessionが非常に不透明であるため、デバッグがほとんどゲスト化されていることです。教訓..次回は直接bonjourを使用します。

于 2012-11-22T10:06:40.113 に答える