F9y4ng / GreasyFork-Scripts

The open source code of this project is used for userscripts (油猴脚本) for desktop browsers, including Font Rendering (Customized) (字体渲染(自用脚本)- Font Rendering.user.js), and Search Engine Assistant (优雅的搜索引擎助手 - Google & Baidu Switcher.user.js), etc.
https://f9y4ng.github.io/GreasyFork-Scripts/
GNU General Public License v3.0
951 stars 46 forks source link

开启脚本后,使用17ce测试网站的时候导致gpu显存暴增 #174

Closed cjjdaq closed 1 year ago

cjjdaq commented 1 year ago

在开启脚本的情况下,在网站www.17ce.com随便测试一个网站的过程中会导致gpu内存暴增,最后页面崩溃。哪怕是使用排除渲染也不行,只有停用脚本后正常。这个问题困扰了很久,一直以为chrome浏览器内核的问题。Firefox虽然会占光显存,但不会崩溃。

F9y4ng commented 1 year ago

我本地不能复现你提到的问题,不论是chrome还是Firefox,均能正常运行,不会出现页面崩溃。

我建议你按照Bug report的格式填写,以便我能发现一些线索,如脚本冲突、扩展冲突、系统设置、兼容性问题等等。


不过有一点你可以提前做个测试,在chrome的设置中,系统 --> 使用硬件加速模式(如果可用) 关闭之,再试试。

Chromium内核从108版本开始,如果计算机配置不够高级的壕,开启硬件加速会在一些网站造成极其卡顿的问题,而关闭硬件加速可有效解决。

cjjdaq commented 1 year ago

cpu:amd 3600xt 内存:32G 显卡:rtx2070s 浏览器:edge(开启硬件加速)firefox(开启硬件加速) 浏览器只开暴力猴与渲染脚本。

就是在开启硬件加速的情况下,此网站才会有问题。

F9y4ng commented 1 year ago

cpu:amd 3600xt 内存:32G 显卡:rtx2070s 浏览器:edge(开启硬件加速)firefox(开启硬件加速) 浏览器只开暴力猴与渲染脚本。

就是在开启硬件加速的情况下,此网站才会有问题。

你的计算机配置并不差啊,不过你还是尝试关闭硬件加速试试,是否依然会复现此问题。

另外,你检查一下你的Chrome,比如插件chrome++、chrome://flags中的参数改动等等,如果有必要你可以试试其他chromium内核的浏览器是否也存在此问题,比如Edge, Brave等。

上面提到的Chromium v108+开启硬件加速卡顿的原因是text-shadow的多重渲染与硬件加速GPU调用处理上存在严重的Bug,如果开启硬件加速,就会出现页面滚动时卡顿、拖影的问题。此种情况下,关闭硬件加速一切恢复正常。Chromium目前仍未修复。

F9y4ng commented 1 year ago

哪怕是使用排除渲染也不行,只有停用脚本后正常。这个问题困扰了很久,一直以为chrome浏览器内核的问题。

这个现象很异常,排除渲染后就不会执行任何渲染操作,如果依然出现问题那就不是脚本渲染方面的问题。

你最好提供一下你浏览器的版本,脚本管理器的版本,还有你安装的脚本的版本。 我建议你还是按Bug report中的格式提供一下相关信息,因为我的本地无法复现你的问题。

cjjdaq commented 1 year ago

哪怕是使用排除渲染也不行,只有停用脚本后正常。这个问题困扰了很久,一直以为chrome浏览器内核的问题。

这个现象很异常,排除渲染后就不会执行任何渲染操作,如果依然出现问题那就不是脚本渲染方面的问题。

你最好提供一下你浏览器的版本,脚本管理器的版本,还有你安装的脚本的版本。 我建议你还是按Bug report中的格式提供一下相关信息,因为我的本地无法复现你的问题。 当前我的gpu还在干其他活。等活干完,我用win11自带的edge来测试。到时候写[Bug report],不过我目前电脑里除了自带的edge,还有edge dev,百分浏览器,360急速浏览器x,catsxp都是一样的情况。但关闭硬件加速,这个网站测试就不会显存飙升。

F9y4ng commented 1 year ago

OK, 如果你测试本地所有的浏览器都是开启硬件加速就会出现此问题,我猜测应该Chromium内核与显卡驱动之间的问题了。

从目前我遇到的情况来看,浏览器硬件加速在最近的几个版本更新上来看,加速效果成了个很玄学的问题。🙃

cjjdaq commented 1 year ago

暴力猴:2.14.0 字体渲染:2023.02.18.1 无其他任何扩展与脚本。chrome://flags都恢复了默认。 N卡 rtx2070s驱动:31.0.15.2849(2月2日版)试过一年前2月版驱动(问题依旧)

出错网址:https://www.17ce.com (测试网址:www.catsxp.com)

百分浏览器:102.0.5005.167 Edge:110.0.1587.57 360急速浏览器x:95.04

无加速: 开启渲染:地图不显示,无黑频,内存占用峰值7.8G/32G, 排除渲染:地图正常显示, 无黑频,内存占用峰值7G/32G。
关闭脚本:页面正常显示,内存占用688MB

硬件加速: 开启渲染:页面黑屏后重新显示,内存占用峰值11G/32G,GPU内存峰值7.2G/8G 排除渲染:页面黑屏后重新显示,内存占用峰值5G/32G,GPU内存峰值7.2G/8G (例外:360急速浏览器x, 页面崩溃几率较小,内存峰值10G/32G, gpu内存峰值7G/8G)

关闭脚本:内存占用20M上下波动。GPU内存0.1G上下波动,页面一切正常。

Firefox开启硬件加速的情况下虽然会占满gpu内存,但页面不会崩溃。

F9y4ng commented 1 year ago

感谢你的本地测试数据。

从你的描述来看,我似乎找不出直接原因。如果考虑是浏览器Chrome v110.0.5481.178、脚本管理器Violentmonkey v2.14.0和脚本 v2023.02.18.1的问题,我本地始终无法复现出你遇到的问题,网站显示一切正常(包含动画),硬件加速开启状态/关闭状态都正常。

test

不过先从脚本入手排查,先确认一下是否是脚本出错:

cjjdaq commented 1 year ago

www.17ce.com-1677691430238.log 似乎并没有什么错误。

F9y4ng commented 1 year ago

www.17ce.com-1677691430238.log 似乎并没有什么错误。

因为你并没有打开脚本的调试开关,所以日志中没有更多的可用信息。

你需要在脚本管理器中编辑脚本源代码,按照上面的操作提示打开脚本debug开关,然后再进一步操作。

cjjdaq commented 1 year ago

www.17ce.com-1677694054813.log 只有关闭脚本才行,只要开启脚本,不管排除与否情况都一样。

F9y4ng commented 1 year ago

从日志看脚本执行正常,没有报错,样式插入也正常,也没有出现死循环操作。可以排除脚本运行的问题了。

继续排除一下脚本管理器的可能吧:

将Violentmonkey禁用或卸载,更换Tampermonkey4.18.1试一下。如果问题依旧,也将日志发一下。

cjjdaq commented 1 year ago

www.17ce.com-1677726194802.log 情况是一样的,我使用了一个功能类似的脚本 https://www.youxiaohou.com/mactype.user.js 进行测试,内存占用与gpu显存占用都正常。

F9y4ng commented 1 year ago

我怀疑应该是你计算机本地环境、驱动造成的问题了。如果你有其他电脑,或有朋友同事愿意帮忙在其他环境下测试排除是否是你本地的问题。

毕竟这是一个只在你本地才会复现的问题,除了逐一排查你本地的情况,别无他法。当然,你要是觉得麻烦,那也可以选择使用其他第三方脚本。🙂

cjjdaq commented 1 year ago

暂时还没有其他电脑好测试,暂时先放着吧,我再找找本地原因。我想问下,您在测试的时候,不管显存爆不爆,内存占用与显存占用是否正常?

F9y4ng commented 1 year ago

我本地不存在内存占用问题,低配测试机上只要关闭硬件加速,滚动页面卡顿的问题也会消失。Chrome Devtool采用6倍降速测试后,使用描边修正时会有瞬时的CPU高占用,除此以外无其他异常。

以你提供的情况来看,应该是浏览器硬件加速与本地驱动或系统设置有冲突的地方。这应该是一个排查的方向。