私は、メモリ効率の高い高速な 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 がリフローを減らすために何らかの手法を採用しているかどうか、またはその最適化をブラウザーに任せているかどうかを知っている人はいますか?
ありがとう。