mirai-mamori / Sakurairo

一个多彩、轻松上手、体验完善,具有强大自定义功能的WordPress主题(基于Sakura主题,支持简繁英日多语言)A Colorful, Easy-to-use, Perfect Experience, and Powerful Customizable WordPress Theme (Based on Theme Sakura. Support Simplified Chinese, Traditional Chinese, English and Japanese languages)
https://docs.fuukei.org
GNU General Public License v2.0
3.08k stars 353 forks source link

.top-social img 的 backdrop-filter属性会导致大量的gpu占用 #844

Closed meng-luo closed 8 months ago

meng-luo commented 9 months ago

问题出处:

前端,封面社交区域

实际行为描述:

造成了大量gpu占用

复现步骤:

启用封面社交区域,社交网络图标选择第一个,回到首页,当显示封面区域时会占用大量gpu(风扇直接起飞,吃了3060 40%左右)

配置与环境:

截图(若有)

image image

补充信息: 当注释掉backdrop-filter后gpu的占用正常

github-actions[bot] commented 9 months ago

@meng-luo,感谢你给 sakurairo 提出了 issue。ヾ(≧▽≦*)o 请根据 issue 模版确保背景信息的完善,我们将调查并尽快回复你。

KotoriK commented 9 months ago

我们backdrop-filter是这样的,不过这个好像也有点过于离谱了,每个图标能占9.7MB的显存,全页面100M。 抽空看下有没有更好的方案优化

KotoriK commented 8 months ago

涉事样式已经被瞳宝偷偷干掉了 54683d8834a52ad380ae12fea6c5d9fe23cd9ab5 等到2.6.4就会更新了 全剧终

snowman commented 7 months ago

请教是如何定位到 backdrop-filter 的, 我这边应该是 js 的 问题

复现网址: https://blog.imoeq.com/利用爬虫多线程快速自动下载禁漫天堂/

进入网页后, 禁用 javascript 就不卡了

soQhvRlu7m

// not work, still high cpu
$$("*")
  .filter(e => {
    var filter = getComputedStyle(e)["backdrop-filter"]

    return filter != "none"
  })
  .map(e => {
    console.log("set backdropFilter to none:", e)
    e.style.backdropFilter = "none"
  })