私はデータの視覚化を構築しており、レンダリングのパフォーマンスは非常に重要です。 JavaScriptを使用してSVGを使用しているにもかかわらず、私の質問は、ボグの標準HTMLに関連しています。レンダリングのパフォーマンス:スタイル属性またはクラス名とスタイルシートのルール?
OK、仮定のシナリオ:私は "red
" のbackground-color
10,000 DOMノード、および "" のbackground-color
10,000 DOMノードを持っていると言います。各ノードは、JavaScriptループによって作成されます。私はどちらかの可能性:
background-color
を指定して、各ノードの
style
属性を設定
- :
<element style="background-color:red;"/>
は、各ノードで
class
属性を設定し、インラインスタイルまたは外部スタイルシートでそのクラスを参照:<head><style>.foo {background-color:red;}</style></head>
<body><element class="foo"/></body>
のダウンロードのコードはここで重要ではありません - 私はブラウザのレンダリングの性能にのみ興味があります。また、スタイル属性は通常、日々のウェブサイト開発ではそれほど有用でも意味もないことを認識していますが、ここでは具体的な使用例があります。
I だ論理的な答えに興味が、実際にこれをテストしたか(私は情報の検索が、これに特に何も見つからなかっました)他の誰かのテストについて読みました誰からも聞いて本当に便利になるだろう。
ありがとうございました!
あなた自身のベンチマークをやってみませんか?私は、異なるブラウザ間でパフォーマンスが大幅に変化すると思われます... –
私はそれが非常に特殊なケースだと思うし、さまざまなブラウザで自分自身をベンチマークする方がはるかに簡単です。私の賭けはそれほど違いはないが、誰が知っているかということです。 – Athari
私の推測では、 'style'ソリューションは最も速く動作するでしょうが、私は実際のベンチマークを調べることになります。あまりにも困難ではありません。ちょうど10,000個のモックオブジェクトを作成してください。 –