I've seen your name come up (well, I'm assuming it's you based on you Slashdot user)
Yep, same guy. You have me to thank for most of these changes. :)
You mention image.mem.min_discard_timeout_ms. I've already set that one pretty high (1 hour (which really means, 30-90 minutes, right?))
I think it ends up being 1-2hr.
but was wondering if it applies to closed tabs as well as background tabs
As of this bug being resolved, it does not.
Can you describe just briefly what image.mem.max_decoded_image_kb and image.mem.max_bytes_for_sync_decode control?
max_decoded_image_kb is the soft cap on number of bytes that decoded images can consume. We'll try to discard decoded images so we get under this value, with the unfortunate proviso that we'll never discard images on the current tab.
max_bytes_for_sync_decode affects our behavior when decoding previously discarded images. If the image's *compressed* size is less than this value, we'll decode it synchronously. Otherwise we'll decode async. From a practical standpoint, tab switches are blocked until all sync decodes complete, so if you set this too high, you'll observe slow tab switching. If you set this value too low some images may "flicker" into view when you switch tabs.
Fast tab switching is a key goal for us right now, so our plan is to set max_bytes_for_sync_decoded much lower in the near future. (It too is blocked on some stupid things.)
I haven't had much luck finding documentation for these options
Yeah, these prefs are intended to be internal knobs for us to tweak. You're welcome to modify them yourself, but if you notice that Firefox is acting up six months from now, it might be worth resetting them to their default values.