beast
火狐狸
火狐狸
  • UID48534
  • 注册日期2015-01-10
  • 最后登录2017-09-17
  • 发帖数166
  • 经验150枚
  • 威望0点
  • 贡献值90点
  • 好评度1点
  • 社区居民
阅读:3417回复:17

广告过滤效率

楼主#
更多 发布于:2015-02-08 16:53
为什么奶牛,阿呆喵……之类的广告过滤规则一增大,就卡网?而adblock系列的卡网不明显。
按说,第三方c++编写的过滤软件运行效率比js高得多。
pcxfirefox
千年狐狸
千年狐狸
  • UID39042
  • 注册日期2012-06-22
  • 最后登录2018-01-15
  • 发帖数2539
  • 经验1263枚
  • 威望2点
  • 贡献值242点
  • 好评度133点
  • 最爱沙发
  • 忠实会员
  • 社区居民
1楼#
发布于:2015-02-11 00:11
yfdyh000:说的就是这个。虽然我没测过,但应该就是ABP会对每个网页(包括框架)插入一堆CSS来保证隐藏元素的原因(为了保证动态加载的元素也能隐藏)。CSS在 配置文件夹\adblockplus\elemhide.css 可见,会插入到每个网页框架。好...回到原帖
我关注一下这个东西
http://pcxfirefox.wordpress.com/
yfdyh000
千年狐狸
千年狐狸
  • UID29079
  • 注册日期2009-06-07
  • 最后登录2022-05-18
  • 发帖数2262
  • 经验1390枚
  • 威望0点
  • 贡献值52点
  • 好评度139点
  • 社区居民
  • 最爱沙发
  • 忠实会员
2楼#
发布于:2015-02-10 23:56
Atester:你一说我想起了这个:https://www.firefox.net.cn/read-49239,当时试了一下,记得虽然没文科那么多,但是加载过程中占用1.9G绝对有的回到原帖
说的就是这个。虽然我没测过,但应该就是ABP会对每个网页(包括框架)插入一堆CSS来保证隐藏元素的原因(为了保证动态加载的元素也能隐藏)。CSS在 配置文件夹\adblockplus\elemhide.css 可见,会插入到每个网页框架。好像一般是2MB左右,如果自己手动禁用掉自己没用过的过滤规则,会有大幅缩减。

感觉主要还是浏览器的内核层没有提供或者有自动的重复合并机制,导致重复占用内存。
pcxfirefox
千年狐狸
千年狐狸
  • UID39042
  • 注册日期2012-06-22
  • 最后登录2018-01-15
  • 发帖数2539
  • 经验1263枚
  • 威望2点
  • 贡献值242点
  • 好评度133点
  • 最爱沙发
  • 忠实会员
  • 社区居民
3楼#
发布于:2015-02-10 22:38
Atester:你也没有思路么?我还以为你注意到这个问题有点想法呢回到原帖
我对web不懂的啊
http://pcxfirefox.wordpress.com/
Atester
狐狸大王
狐狸大王
  • UID45325
  • 注册日期2014-04-03
  • 最后登录2016-09-14
  • 发帖数391
  • 经验358枚
  • 威望0点
  • 贡献值56点
  • 好评度23点
  • 社区居民
  • 忠实会员
4楼#
发布于:2015-02-10 21:00
pcxfirefox:frame很多就会这样 不知道是不是算法问题回到原帖
你也没有思路么?我还以为你注意到这个问题有点想法呢
Doing good is all our mission!
pcxfirefox
千年狐狸
千年狐狸
  • UID39042
  • 注册日期2012-06-22
  • 最后登录2018-01-15
  • 发帖数2539
  • 经验1263枚
  • 威望2点
  • 贡献值242点
  • 好评度133点
  • 最爱沙发
  • 忠实会员
  • 社区居民
5楼#
发布于:2015-02-10 14:05
Atester:你一说我想起了这个:https://www.firefox.net.cn/read-49239,当时试了一下,记得虽然没文科那么多,但是加载过程中占用1.9G绝对有的回到原帖
frame很多就会这样 不知道是不是算法问题
http://pcxfirefox.wordpress.com/
Atester
狐狸大王
狐狸大王
  • UID45325
  • 注册日期2014-04-03
  • 最后登录2016-09-14
  • 发帖数391
  • 经验358枚
  • 威望0点
  • 贡献值56点
  • 好评度23点
  • 社区居民
  • 忠实会员
6楼#
发布于:2015-02-10 09:12
yfdyh000:可能部分第三方软件是使用的遍历模式,因此规则越多速度越慢。
而ABP对非慢速规则用的是正则表达式+哈希表模式,据官方称,规则数量与匹配耗时几乎没有关系。https://adblockplus.org/zh_CN/faq_internal#f...
回到原帖
你一说我想起了这个:https://www.firefox.net.cn/read-49239,当时试了一下,记得虽然没文科那么多,但是加载过程中占用1.9G绝对有的
Doing good is all our mission!
beast
火狐狸
火狐狸
  • UID48534
  • 注册日期2015-01-10
  • 最后登录2017-09-17
  • 发帖数166
  • 经验150枚
  • 威望0点
  • 贡献值90点
  • 好评度1点
  • 社区居民
7楼#
发布于:2015-02-09 20:24
卡饭的科普环境太差,用户只想着拿来就用,很少有人想去理解其原理。
理解原理,同样很有趣。
meat
火狐狸
火狐狸
  • UID35020
  • 注册日期2011-01-06
  • 最后登录2024-04-26
  • 发帖数267
  • 经验200枚
  • 威望0点
  • 贡献值106点
  • 好评度16点
8楼#
发布于:2015-02-09 19:50
beast:我没装任何杀毒软件,没有任何防火墙(Windows自带的防火墙也关闭了)。很多人反映独立过滤广告软件卡网。但很少有人反映ADblock+卡网(至少我没有听说过)。

某些独立软件往往过滤广告不彻底,比如百度百科,网易邮箱,即使添加了AD...
回到原帖
邮箱是https,你不会希望一个第三方软件能轻易地拦截、修改https通讯的,这不是规则的问题。abp是基于浏览器,限制很大,只能拦截不能修改,但支持https

有人反映卡网有两个原因,
1. 确实是会慢一点。但这是相对没用任何软件的。那些人之前没用过过滤软件
2. 不少过滤软件都是把整个文件接收好了,才传给浏览器,造成的表观现象就是看起来卡了一下,而不是没有过滤那样接收了一部分就先渲染一部分。这方面adbyby支持比较好

至于你说很多人反映卡网,说的是卡饭吧。那个站现在龙蛇混集,弱智写的“技术文章”很多人顶就算了,还常有加精的。你爱信就信,我建议还是自己做点实际的测试
beast
火狐狸
火狐狸
  • UID48534
  • 注册日期2015-01-10
  • 最后登录2017-09-17
  • 发帖数166
  • 经验150枚
  • 威望0点
  • 贡献值90点
  • 好评度1点
  • 社区居民
9楼#
发布于:2015-02-09 11:28
我没装任何杀毒软件,没有任何防火墙(Windows自带的防火墙也关闭了)。很多人反映独立过滤广告软件卡网。但很少有人反映ADblock+卡网(至少我没有听说过)。

某些独立软件往往过滤广告不彻底,比如百度百科,网易邮箱,即使添加了ADblock+的过滤规则。至于过滤第三方软件弹窗广告,我觉得更好的办法是找相关的绿化软件。
meat
火狐狸
火狐狸
  • UID35020
  • 注册日期2011-01-06
  • 最后登录2024-04-26
  • 发帖数267
  • 经验200枚
  • 威望0点
  • 贡献值106点
  • 好评度16点
10楼#
发布于:2015-02-08 23:45
。。。。。。。无论实际使用还是测试,你提到的独立软件速度都比abp快。可能你的机器环境有问题

abp还有一个问题,大量的全局css规则对cpu也是一定压力。
pcxfirefox
千年狐狸
千年狐狸
  • UID39042
  • 注册日期2012-06-22
  • 最后登录2018-01-15
  • 发帖数2539
  • 经验1263枚
  • 威望2点
  • 贡献值242点
  • 好评度133点
  • 最爱沙发
  • 忠实会员
  • 社区居民
11楼#
发布于:2015-02-08 22:08
关键在于实现方式 网卡过滤不是你想的那么简单 ABP又不走网卡过滤
http://pcxfirefox.wordpress.com/
taoww
非常火狐
非常火狐
  • UID39284
  • 注册日期2013-03-18
  • 最后登录2024-04-25
  • 发帖数627
  • 经验573枚
  • 威望0点
  • 贡献值110点
  • 好评度99点
12楼#
发布于:2015-02-08 21:51
beast:能否采取某些扩展的做法:默认拦截第三方图片(这些图片往往就是广告),以此来的大幅度精简过滤规则?回到原帖
现实是无法准确判断是否为第三方。现在稍微大一点的网站,基本都把图片等静态数据放到另外的域名中,比如新浪微博weibo.com上的图片地址都是sinaimg.cn,除了内置域名黑白名单外你还能怎么办?结果就是大幅精简过滤规则的同时大幅增加了域名规则
beast
火狐狸
火狐狸
  • UID48534
  • 注册日期2015-01-10
  • 最后登录2017-09-17
  • 发帖数166
  • 经验150枚
  • 威望0点
  • 贡献值90点
  • 好评度1点
  • 社区居民
13楼#
发布于:2015-02-08 19:33
能否采取某些扩展的做法:默认拦截第三方图片(这些图片往往就是广告),以此来的大幅度精简过滤规则?
yfdyh000
千年狐狸
千年狐狸
  • UID29079
  • 注册日期2009-06-07
  • 最后登录2022-05-18
  • 发帖数2262
  • 经验1390枚
  • 威望0点
  • 贡献值52点
  • 好评度139点
  • 社区居民
  • 最爱沙发
  • 忠实会员
14楼#
发布于:2015-02-08 18:51
可能部分第三方软件是使用的遍历模式,因此规则越多速度越慢。
而ABP对非慢速规则用的是正则表达式+哈希表模式,据官方称,规则数量与匹配耗时几乎没有关系。https://adblockplus.org/zh_CN/faq_internal#filters
此外,第三方软件多采用代理端口或者捕捉流量的方式,因此只能逐个应对发来的流量。而ABP建在浏览器内核,可以在页面解析后一次性获得所有需要过滤的信息,不必逐个应对、比对。


但ABP也不是没有缺点,目前重要的缺点是,元素过滤规则技术用的是将所有元素规则生成一大坨CSS规则(约2MB),然后将这些规则插入到每个网页窗口和框架内。而浏览器目前又不能合并这些规则的内存占用,因此在打开每个窗口或框架时,都会额外加载占用几MB内存。也就是 https://bugzilla.mozilla.org/show_bug.cgi?id=988266

另外,ABP也很久没有技术发展和革新了,作者和他的公司看上去心也不在这里,因此有了很多争议、事件、fork。
上一页
游客

返回顶部