【CSS3アニメーション】と【表示してある要素数】に関して
現在製作中のWEBサイトがあります。
その挙動について、ご質問があり記入させていただきます。
以下、詳細になります。
- ...1ページに画像100枚があるWEBサイト
- ...画像のclassに:hoverで、CSS3でアニメーション
- ...ページ最下部までスクロールすると、100枚の画像をappendします。(計200枚)
- ...この調子で、永遠に終わらないページを作ります。(どんどん画像が増える)
- ...画像が増えれば増えるほど、:hoverのCSS3アニメーションがカクついてしまいます。
コンテンツがどんどん追加されるので、高さも数万pxになりますし、画像の読み込みなどに負荷がかかるのは理解できるのですが、
:hoverしている要素は、1つなのに、その処理が恐ろしくカクツキ出します。
GPUやFPSも、ある程度チェックしてみましたが、遅くなりますが、その仕組みがわかりません、、
これは、もうデバイス自体の処理能力の問題でしょうか?
みんなの回答 5 件
自分が質問するのに「ご質問があります」っておかしくね?
DOMによってタダの平面的な絵ではない構造的な高機能が実現できているわけで、その要素が増えれば増えるほどhoverの実現のために必要な処理が増えるのは当たり前。DOM自身(ブラウザ自身)を実装する立場で考えたら分かるよね?
pinterestとか、どうやって処理してるんだろう。気にならない?Filterizrのプラグインとか。
Comparing jQuery Grid Plugins: Masonry vs Isotope vs Packery vs ...
http://www.fusioncharts.com/blog/2014/09/comparing-jquery-grid-plugins-masonry-vs-isotope-vs-packery-vs-gridster-vs-shapeshift-vs-shuffle-js/とりあえず、対処として考えられるのはこんなところか。
hoverのリスナー設置しすぎでのメモリ消費が原因なら
jsでtarget判定でクラス付与にしてみるとか
関連するトピックス