cheeplusplus / faextender-chrome

FurAffinity Extender extension for Chrome and Firefox
https://cheeplusplus.github.io/faextender-chrome/
MIT License
24 stars 7 forks source link

Memory leaks and time warps #18

Closed KironaDragryph closed 4 years ago

KironaDragryph commented 7 years ago

Whenever I try to open a bunch of images in new tabs with the load delay active - for example, from my inbox, "open images in tabs" - it locks up Firefox for a good 90+ seconds before moving, and then only a few of the tabs ever actually progress to load the image pages. This plugin also hits my CPU and memory pretty hard while all of these tabs are open and trying to run their countdowns.

Speaking of the countdowns, the more tabs are on a time delay, the slower the countdown is. With ~10 tabs, it's roughly on time, but with 72 tabs from a full inbox page, it's so slow that it appears stuck entirely. It's not, because if I wait a while they do progress, but at that rate it'd take a good 20 minutes for all 72 images to even try to load, meanwhile making the rest of Firefox and a good portion of my computer inaccessible due to excessive CPU load

Some details: Firefox started using 386MB memory when I got to my FA inbox. After clicking the "open images in tabs" button, memory usage climbed steadily until it hit a staggering 2.4GB and then tapered off at around 1.3GB at around the 5 minute mark. Countdowns were basically frozen at this point, but began to resume as I closed the newly opened tabs. After closing all of the tabs spawned by this plugin, and also any other FA-related tab (this tab I'm typing this issue report in is the only one open now), I'm sitting at 985MB memory usage. CPU usage spiked to ~50% once I clicked "open images in tabs" and only started to fall as I closed off all the tabs again.

cheeplusplus commented 7 years ago

Is there anything specific to the extension with this, or is it just the browser leaking memory? All we do is load a pretty simple page, there's nothing that should be persisting when tabs are opened.

KironaDragryph commented 7 years ago

I was letting you know because previously this extension worked great, and the memory/CPU impact was nowhere near like this. I was also previously able to continue browsing other pages while waiting for the extension to do its thing. Now it never actually loads most of the pages, causes Firefox to hang or almost hang, and negatively impacts my entire computer due to the heavy load it generates. Testing by manually opening these pages myself (which is what I wanted to avoid when I got the extension) uses less than half the memory at peak, and about 20% less memory when all is said and done. It also doesn't threaten to cause Firefox to hang.

I have read, since posting, that Firefox 57 is now a thing, and I hoped maybe that this issue was caused by me still being on Firefox 56, since I saw your update is 57+ compatible. However, I've now tested it in the Firefox 57 beta and performance is... well, mixed. Firefox now only actually hangs if I try to interact with it while it's working, but does eventually load all of the pages and resume being stable. On the other hand, the CPU usage is unchanged, and memory usage peaks ataround 3.75GB (much worse) while, on average, 1/7 of pages end up getting a 503 error because they try to load simultaneously despite the time delay being active.

I love this extension, and I've been using it for ages. I'm not trying to just complain, honestly. I just wanted to let you know that it is, at least in my case, not doing nearly as well since the update. It's gone from "super convenient function" to "thing I can only use if I start it and then walk away for a while" and I'm hoping to see it resume being awesome c:

cheeplusplus commented 7 years ago

There is zero difference between how the old and new versions handle Open in Tabs, so it's almost assuredly some issue with how Firefox opens tabs in WebExtensions versus old style extensions.