1

Javascript から Web アプリケーションの UI レイテンシを最適に監視するにはどうすればよいですか? 具体的には、インターネット上のコンピューターで実行されているアプリケーションのインスタンスが、UI の潜在性について報告するように、アプリケーション自体に組み込むことができる監視を探しています。

このGoogle I/O トークでは、メモリ リークの追跡について議論し、19:15 に、メモリ消費と UI レイテンシを比較したグラフを示します。彼らは、聴衆がこの質問をするのと同じように、待ち時間を測定する方法に実際には入り込まず、講演の最後に時間がなくなります. しかし、これは方法があるに違いないと私に考えさせます!

4

1 に答える 1

0

簡単に言えば、UI 関数の合計時間を測定し、呼び出し回数で割ります :-)

信頼性の高い UI タイミング:

しかし、真面目な話、これが常にうまくいくとは限りません。その理由は、特定の操作が JavaScript の POV から同期的であるが、実際には DOM を同期的に更新しないためです。

実際の UI 更新時間を測定する最善の方法は、UI 更新関数の開始時に測定を開始 し、その終了時に;(new Date()).getTime()を呼び出すことです。window.requestAnimationFrame(function(){ /* get elapsed time here! */ })

window.requestAnimationFrameはかなり新しいため、古いブラウザーでは実際にはサポートされていません。

更新コードが何もしない場合でも経過する本質的な時間もありますが、ページの起動コードで上記のアプローチでタイトなループを使用することで、これを測定できます。

サーバーへの中継:

タイミング結果を非同期的にキューに追加します。次に、メイン コードがあまり (および/または定期的に) 処理を行っていない場合、結果を AJAX 経由で配列としてサーバーに送り返します。(「空の」ベースライン ベンチマークを含む)。その後、サーバー側で結果を処理できます。

于 2013-08-08T23:53:31.703 に答える