Emm*_*ett 8 html css dom scroll google-chrome
我正在努力优化我的网络应用中的滚动性能,并在最新的Chrome(v31)上遇到了有趣的行为,这也是Chrome Canary(v34)上的重复版.
在这个简化的例子中,我有一个简单的可滚动div:
<style>
.container {
width: 200px;
height: 200px;
overflow: auto;
background: #ccc;
}
.container div {
height: 80px;
width: 80px;
background: #555;
border-radius: 10px;
}
</style>
<div class="container">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
Run Code Online (Sandbox Code Playgroud)
我启用了以下Chrome开发设置来调查滚动性能:
当我在非视网膜显示器上加载网页时,它会在每个滚动条上重新绘制整个容器div,而Chrome甚至会指示:
但当我将窗口移动到我的视网膜显示器并刷新页面时,滚动性能会提高!它只重新绘制滚动条本身(有时也重新绘制以前不在滚动视口中的内容):
高DPI行为似乎更可取,滚动速度更快.无论DPI如何,有没有办法在Chrome中实现这种性能?
小智 10
我没有Retina显示电脑来测试这个.我的猜测是你可以试试.container上的"translateZ hack"吗?
.container { -webkit-transform: translateZ(0); }
Run Code Online (Sandbox Code Playgroud)
不确定这是否有效.但在某些情况下,它通过将该元素分成它自己的"层"来帮助修复浏览器重绘.
希望这可以帮助!
归档时间: |
|
查看次数: |
2863 次 |
最近记录: |