2012-04-26 4 views
5

クライアントマシンがJavaScriptをレンダリングする速度を判断する標準(受け入れ可能/簡単/実行)方法はありますか?ブラウザでJSエンジンの速度を条件に応じて無効にするアニメーションを無効にする

私の他のタブでWebアプリケーション(ビデオなど)を実行しているとき、私のJSアニメーションはクロールに時間がかかります。

JSからの遅さを検出できる場合は、よりシンプルなアニメーションを使用してより優れたユーザーエクスペリエンスを提供します。

更新:皆のための

削除するアニメーションが答えではありません。私は、ブラウザ/コンピュータに依存している最も単純なアニメーションについて語っています。私が遅さのレベルを検出することができれば、私は単にそれらを無効にします。

これは、ダイナミックなグラフィックス品質を備えたビデオゲームと同じです。余分な処理能力を持つ人にペナルティを課さずに古いコンピュータを使用している人に喜んでもらいたいです。

答えて

0

1つのヒントは、これらの非表示のアニメーションを無効にすることです。フォーカスしていない別のタブ上にある場合は、アニメーションを維持するのは何ですか?

もう1つは、アニメーションを最小限に抑えることです。私はあなたがDOM上にいると仮定し、DOMの操作は高価です。それらも最小限に抑えてください。

あなたがイメージアニメーションの操作を使用している場合は、代わりにキャンバスを使用してDOMで操作しないようにしてください。

また、プログレッシブエンハンスメントを検討してください。あなたの機能をシンプルにして、複雑なものまであなたのやり方を進めてください。新しいものを追加するたびに、シンプルな機能をベースラインとして使用してください。そうすれば、問題の原因を簡単に特定し、それに応じて修正することができます。あなたが最初に取り組むべき


主な問題は、それが遅いないとき、遅い理由です。

+1

私はアニメーションが特に攻撃的であるか、別のタブで起こっていると言っているわけではありません。たとえ単純な画像でも不透明にフェードインすると、コンピュータの速度が十分に遅い場合には吃音になります。多くの低速のコンピュータがあります。アニメーションを徐々に削除することでユーザーエクスペリエンスが向上する未処理の状況(おそらくファイルのコピー、映画の視聴など)があります。私がこれを検出できれば、私はスライディングスケールのアニメーションレベルを設定します。なし、小さく、そしてすべて。 –

+0

@YujiTomitaその物事の一つだ[あなただけを制御することはできません](http://stackoverflow.com/questions/10220530/what-are-the-limits-to-pushing-javascript-performance/10220623#comment13129588_10220623) 。 [UX.stackexchange](http://ux.stackexchange.com/)からUXの観点から自分の状況に合わせてお勧めできるものを尋ねたいかもしれません。 – Joseph

+2

私は同意しません。あなたは私がやろうとしていない "JavaScriptのパフォーマンスを押して"についての記事にリンクしています。これは、逆の場合に似ています。単一のイメージのフェードを無効にして古いコンピュータをサポートします。みんなのためのバーを下げることは解決策ではありません。私たちの同意の有無にかかわらず、私の質問は、クライアントJSのパフォーマンスを測定するかどうかについてです。このプログラミングで何をするかは、それらに依存します。 –

0

私はこの質問が古いことを知っていますが、私はそれを偶然見つけました。最も簡単な方法は、長いループを実行し、開始時間と終了時間を測定することです。これにより、マシンのJavascriptのパフォーマンスがわかります。

心に留めてください、これはあなたがクッキーに結果を格納することもできますので、ページの読み込みを遅らせること、それは、ページを表示するたびに測定していません。

のような何か:

var starttime = new Date(); 
for(var i=0; i<1000000; i++) ; 
var dt = new Date() - starttime; 

・ホープ、このことができます。

関連する問題