【问题标题】:How to fast-blur in css/js?如何在 css/js 中快速模糊?
【发布时间】:2013-11-20 16:27:44
【问题描述】:

在将模糊图像与某些亚像素平移动画结合时遇到性能问题(我使用的是jQuery Transit):

filter: blur(5px);^

mousemove 上,重新计算模糊以模拟景深。 移动时,元素并没有像我希望的那样流畅。

Demo here

当您在-webkit 浏览器中单击瓶子时会出现错误移动

任何想法/提示我可以如何加快这一点?

我正在考虑预先计算每个焦点步骤并使用不透明度,但这是我将使用的最后一个解决方案。

【问题讨论】:

  • 切换到mouseover你只需要在鼠标悬停时才需要模糊,而不是在每个像素移动时
  • @Ibu 这不是真正的问题,因为带有键盘箭头的事件(没有鼠标移动)移动是相同的,并且鼠标悬停的行为不完全相同,因为它不会模糊逐步但在元素悬停上的步骤。但是谢谢
  • 这将是对您的代码的优化

标签: javascript html css jquery-transit


【解决方案1】:

看起来您正在同时翻译和缩放图像,这会导致跳动。尝试改用 translate3d -webkit-transform: translate3d(x,y,z) 并修改 z 位置而不是缩放。这应该对性能有很大帮助,因为您的动画现在将被硬件加速。

【讨论】:

  • 我发现了这个硬件技巧,并默认在css上添加了一个z值来启用硬件加速。顺便说一句,Transmit 不使用 Z... 只是发现了这一点。我会尝试用 jquery animate 重新实现它
猜你喜欢
  • 2018-01-18
  • 2021-11-09
  • 2013-02-05
  • 1970-01-01
  • 2016-12-02
  • 1970-01-01
  • 1970-01-01
  • 2011-01-05
  • 2014-02-20
相关资源
最近更新 更多