关于前端 backdrop-filter:blur 使用后变卡的优化问题

2020-11-24 22:23:17 +08:00
 Archeb

首先直接上 Demo,这是我目前在做的一个主题

https://qwq.moe/playground/Candy2/

这个主题大量使用了 backdrop-filter:blur 特性,导致页面在首次加载并应用效果的时候会变得很卡

主要表现就是同一个浏览器会话(不重启浏览器),第一次打开这个页面,包括滚动和点击文章的动画效果都会非常卡

在第一次运行这些动画效果之后,再次进行点击文章和滚动等操作则十分流畅

(但是如果没有独显,性能较差的核显就算再次点击依然是比较卡的)

去掉 backdrop-filter:blur 之后则没有这个问题

根据现象推断浏览器应该是在第一次运行动效之后做了某些类似于 cache 的机制,而重启浏览器就会清除

我希望有办法能够让他在加载这个页面的时候就做了这些 cache,可以让用户多加载一会而不是运行的时候才卡,这样比较影响体验。

目前在 js 里面加上了检测低性能显卡禁用毛玻璃的代码( WebGL API ),还没实装,不过就算是高性能独显第一次也是会卡卡的。

1703 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/728875

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX