When I enter in my account on money.yandex.ru and start scrolling I got 100% CPU load + freezes
https://money.yandex.ru/actions
https://money.yandex.ru/catalogue


With uBlock disabled all is fine. I also tested it with only one uBlock extension enabled.
After enabling "ignore general cosmetic filters" CPU load is down to 30-50% when scrolling.
Here is screenshot of blocked requests from uBo-logger:

I ask developer of ruadlist about it and he says that he can't fix it in filter list because it's uBlock issue, uBlock is trying to apply rules to shadow-root.:
https://forums.lanik.us/viewtopic.php?p=134351#p134351
Yeah, reproduces. When you apply in uBlock Origin for Google Chrome any rules of hiding on this page (and possibly throughout the subdomain), when scrolling is really abnormal CPU usage. Most likely, this is due to the fact that the extension is trying to apply the rules in respect of shadow-root, because neither in ublock Origin for Firefox (where shadow-root is absent), nor in Adblock Plus for Google Chrome (which simply does not climb into shadow-root) - similar behavior is not observed. I'm afraid there changes in subscriptions I will not fix anything.
Is there a way to reproduce without having to create an account?
Yes you can check it on https://money.yandex.ru/catalogue w/o account.
I can't reproduce anything like you said at that URL. I have selected most filter lists in your picture which have cosmetic filters in them. I also can't make sense of _"apply the rules in respect of shadow-root"_, uBO makes no use of shadow root.
You must scrolling up and down fast, and at the same time see at CPU load. And even w/o scrolling fast - scrolling become "laggy".
I see 53 custom filters on your side. Unselect your filter list and see if this makes a difference.
I'm already do it and problem only in RUS: RU AdList, but developer of this list said that what i write above.
Ok I profiled using the browser tools, and I do see a performance drop with cosmetic filtering. The curious thing is that uBO is not doing anything with regard to that performance drop. The hot spot is spent in the page's own code. I suspect the added CSS rules are causing the page's own code (getBoundingClientRect ends up being called a lot by the page) to become more expensive due to the injected styles -- not because of uBO's proper. I will continue to test to see which specific injected styles are causing the issue.
Alright, dismiss what RU AdList dev told you: there is also a similar performance drop when using ABP with RU AdList. I will still try to figure which specific styles if any are causing this.
Here is what I have so far: the issue is with one of the generic cosmetic filter in RU AdList. If you disable generic cosmetic filtering OR disable RU AdList, the performance drop disappears:
@@||yandex.ru^$generichide
Again, ABP suffers the same issue, I don't know why he told you differently: the problem is that some generic styles from RU AdList injected on the page by either uBO or ABP are causing js code run by the page itself to become expensive.
Yep, with
@@||yandex.ru^$generichide
All is fine now
Tested ABP now, and I have problems too. But in "developer tools" in ABP tab nothing is blocked by RuAdList, but at the same time disabling RuAdList is solves problem (or adding @@||yandex.ru^$generichide). Idk why is that happening.
Those two filters in RU AdList are causing the issue:
##div[id*="ScriptRoot"] *
##div[id^="DIV_DA_"] *
Disable them with:
#@#div[id*="ScriptRoot"] *
#@#div[id^="DIV_DA_"] *
These filters are bad because they mean that all descendants of div[id^="DIV_DA_"] should be targeted. On top of this, they are completely uneeded because there is already these two filters:
##div[id*="ScriptRoot"]
##div[id^="DIV_DA_"]
So issue is with RU AdList.
Please report to them, if they do not want to remove them I will add the exception filters to uBO -- they are bad filters which should not be suffered by users of uBO.
But in "developer tools" in ABP tab nothing is blocked
Yes, the filters are still injected unconditionally because they are generic cosmetic filters. As soon as these CSS rules are present -- even if there is no match in the DOM, they cause the performance drop.
These filters were added for a reason: https://hg.adblockplus.org/ruadlist/rev/388682973a18#l1.12
The filter ##div[id*="ScriptRoot"] will already cause all descendants to be hidden, no need to want to hide all descendants with another filter.
If this were so, I would not add it.
I cannot reproduce what you have in your screenshot after I add
#@#div[id*="ScriptRoot"] *
#@#div[id^="DIV_DA_"] *
uBlock Origin 1.15.18
Google Chrome 65.0.3325.181
Just need to refresh the page. Maybe several times.
For me issue is fixed by:
#@#div[id*="ScriptRoot"] *
#@#div[id^="DIV_DA_"] *
Too.
UPD.:
Just updated ruadlist filter with fixes:
And now all is fine.
Perhaps the changes have not yet entered into force. Try to update again.