我有一个使用SlickGrid构建的数据网格。我使用了 css亮度滤镜使奇数行比偶数行更暗,并且使用了 css背景混合使选定的行具有蓝色,同时仍保持奇数/偶数行颜色交替。
.slick-row.odd {
filter: brightness(.96);
}
.slick-row.selected {
background-image: linear-gradient(0deg, #DFE8F6, #DFE8F6);
background-blend-mode: multiply;
}
为了给出一些想法,网格看起来像这样:
我最近意识到的是,网格在垂直滚动时开始闪烁。通常,新行的输出速度比以前慢一些,偶数行的速度比奇数行的速度快。在快速滚动过程中,您会感觉到所有奇数行(应该是更暗的)都是空的,而偶数行都有数据。
在检查一些我发现麻烦渲染性能的教程之后,我已经检查了chrome dev-tools。我确实注意到亮度过滤器会创建很多层边界。我认为这使每一行成为一个单独的层。
关闭样式确实可以加快渲染速度,我的问题是它是否由于CSS过滤器和图层而变慢,还是因为我要应用许多样式?