1

私は、メモリ効率の高い高速な JavaScriptの記述に関する記事を読んでいて、「リフローの最小化」セクションで、次のような個々の DOM 追加操作を行うことについて警告しています。

function addDivs(element) {
  var div;
  for (var i = 0; i < 20; i ++) {
    div = document.createElement('div');
    div.innerHTML = 'Heya!';
    element.appendChild(div);
  }
}

この関数の後に、著者は次のように書いています。

「各新しい div を要素に直接追加するだけで、 20 回のリフロー発生する可能性があります。」

だから作者はそうは言っていない。私はd3.jsを多用しているので、 githubのソース コードを調べて、コメントreflowや使用法があるかどうかを確認しましたDocumentFragment(ただし、これは他の手法で実現できます)。

私の質問は: d3.js がリフローを減らすために何らかの手法を採用しているかどうか、またはその最適化をブラウザーに任せているかどうかを知っている人はいますか?

ありがとう。

4

0 に答える 0