Cih*_*han 53 javascript css performance animation render
我目前正在开始一个动画项目.在项目中,我将有超过40000 div
秒,并迭代动画它们.如果div
s中的任何一个处于被动状态(即它不至少动画2秒),我将不会显示它们以提高动画性能.
问题是:哪个css属性最适合这个?
.passive1{
display:none
}
.passive2{
visibility:hidden;
}
.passive3{
opacity:0;
}
Run Code Online (Sandbox Code Playgroud)
我如何测量渲染性能,如fps,gpu使用情况?
Nis*_*ant 152
它们都使元素不可见,但它是否占用空间并消耗点击次数则不同
+--------------------+----------------+-----------------+
| Property | occupies space | consumes clicks |
+--------------------+----------------+-----------------+
| opacity: 0 | ? | ? |
+--------------------+----------------+-----------------+
| visibility: hidden | ? | ? |
+--------------------+----------------+-----------------+
| display: none | ? | ? |
+--------------------+----------------+-----------------+
?: yes
?: no
Run Code Online (Sandbox Code Playgroud)
当我们说它消耗点击时,这意味着它也会消耗其他指针事件,如ondblclick,onmousedown,onmousemove等.
本质上,"visibility:hidden"的行为类似于"opacity:0"和"pointer-events:none"的组合.
如果使用 display:none 或visibility:hidden ,则性能将是一个问题,因为它们会在大多数浏览器中触发绘制和布局,这意味着您的浏览器将在这两个更改时重新绘制视口,因此我建议使用不透明度,但仍然会为该数量的 div仍然没有达到预期的效果,您可以使用名为 html-gl 的库尝试 webgl,该库在 webgl 中呈现您的 div 检查https://github.com/PixelsCommander/HTML-GL