Opened 4 years ago

Last modified 4 years ago

#4752 closed defect

Options page is extremely slow when dealing with large numbers of custom filters — at Version 2

Reported by: kzar Assignee:
Priority: P3 Milestone: Adblock-Plus-1.13-for-Chrome-Opera
Module: Platform Keywords:
Cc: sebastian, mapx, greiner Blocked By:
Blocking: Platform: Chrome
Ready: yes Confidential: no
Tester: Ross Verified working: yes
Review URL(s):

Description (last modified by kzar)


Chrome 55
Adblock Plus 1.12.4

How to reproduce

  1. Download a copy of EasyList.
  2. Open it in a decent text editor, copy the whole thing to the clipboard.
  3. Open the Adblock Plus options page, select the "Add your own filters" tab.
  4. Click "Edit filters as raw text" and paste EasyList into the text area.
  5. Click to save your changes.
  6. Now attempt to "Edit filters as raw text" again, or attempt to remove even a single filter.

Observed behaviour

The options page becomes unresponsive and pegs the CPU, sometimes for a long time. Sometimes Chrome even considers that Adblock Plus has crashed.

Expected behaviour

The options page should use less CPU and be more responsive when dealing with large numbers of custom filters.

Change History (2)

comment:1 Changed 4 years ago by kzar

Obviously it is expected that the interface might slow down when dealing with huge amounts of filters but I still think we can do better here. The interface becomes completely unusable as it stands.

I am not sure what's to blame, initially I suspected thousands of messages would be sent to the background page but apparently not as there's the "filters.importRaw" message. Also when clicking to remove a single filter it takes a huge amount of time until the "filters.remove" message is even sent, which makes me suspect there's something running slowly in the options page itself.

I will investigate when I get a chance.

Last edited 4 years ago by kzar (previous) (diff)

comment:2 Changed 4 years ago by kzar

  • Description modified (diff)
Note: See TracTickets for help on using tickets.