2016-05-19 7 views
-2

はノースタイリングと1つのdivCSSを使ってクラスをペイントする時間を計算するには?

<div></div> 

は、今私はJS(私はJSに追加どのようにここでは重要ではありません)を使用して、このようにそれにいくつかのクラスを追加しているとします

私はどのように
.cir 
    { 
     position: absolute; 
     width: 150px; 
     height: 150px; 
     background: black; 
     border-radius: 50%; 
    } 

    <div class='cir'></div> 

をCSSがスクリーンにペイントするのにかかる時間を計算しますか?

誰かがJSを使用してクラスを追加した後にsetTimeout(function(){ "It will done" },0);を使用するように提案しましたが、これは正しいアプローチですか?そうでない場合、何ができるのですか?

+2

これはXY問題のように聞こえますが、画面の再描画にかかる時間を知る必要があるのはなぜですか?あなたは何を達成しようとしていますか? – Jamiec

+0

円を描くためのさまざまなツールを比較するには?直接のOpenGL呼び出しと比較してどれくらいの遅延があるかのように。 – mkkhedawat

+0

OpenGLを管理するネイティブブラウザレンダリングエンジンとjs関数を比較するには、常にOpenGLが遅くなるでしょう。 – Justinas

答えて

0
Use performance.now() function on the start of the tag and end of the tag 

    <div id="MyElement"></div> 
    <label id="timeTaken"></label> 


     .cir { 
     position: absolute; 
     width: 150px; 
     height: 150px; 
     background: black; 
     border-radius: 50%; 
     } 


    var t1 = performance.now(); 
    document.getElementById("MyElement").className += "cir"; 
    var t2 = performance.now(); 
    document.getElementById("timeTaken").innerHTML = t2 - t1; 
+0

あなたはちょうどテキストに記載されているものをコピーしました。しかし、質問は、変更CSSは同期かどうかです。 JSでCSSを変更すると、ペイントが確実に行われますか? – mkkhedawat

関連する問題