Re:The Linux kernel's inability to gracefully handle low mem...
by ygra on Tuesday August 06, 2019 @02:56AM
(#20622824)
Most modern browsers cache a lot of data in memory as well to make things like navigating back snappy and avoiding a full page re-load. It's also necessary to cache most of the state of the previous page to allow retaining form fields if you accidentally navigated away (as some forms are only in the DOM, created by JS, and not part of the original HTML).
I believe to have read somewhere that at least Chrome listens to low-memory situations broadcast by the OS and will evict such caches. So while it uses a lot of memory as long as memory is available, it will also release much of it if necessary.
Re:The Linux kernel's inability to gracefully handle low mem...
by PeCaN on Tuesday August 06, 2019 @03:39AM
(#20623046)
This makes sense but is somewhat annoying since a web browser is not the only program running on my computer (but apparently wants to be) and eats up RAM that could be used for the OS file cache.
I wish there was some sort of allocation API specifically for allocating caches so that recently accessed files could kick out a web browser's cache of a not-so-recently accessed tab or vice versa.
Re:The Linux kernel's inability to gracefully handle low mem...
by nitrogen on Wednesday August 07, 2019 @12:33PM
(#20636294)
POSIX does have something sort of like this in madvise(), but I couldn't find a specific option for the semantics you described.
Re:The Linux kernel's inability to gracefully handle low mem...
by bjoli on Tuesday August 06, 2019 @03:03AM
(#20622856)
On a low memory computer I had configured FF to not show images unless I alt-clicked them. Together with not using JavaScript this meant using significantly less memory. I suspect browsers still have to have raw bitmaps in memory, which for the 2mb jpegs you are fed everywhere quickly adds up...
Re:The Linux kernel's inability to gracefully handle low mem...
by chmod775 on Tuesday August 06, 2019 @03:29AM
(#20622987)
They have to be in memory somewhere. They technically don't have to be kept in RAM if they are uploaded to VRAM though.
Assumining RGBA it's just over 8MB for a 1920x1080 image.
Re:The Linux kernel's inability to gracefully handle low mem...
by gnode on Tuesday August 06, 2019 @07:29AM
(#20624183)
Images could be kept compressed until they are painted. Most GPUs support texture compression, so don't need to keep a bitmap for compositing.
Re:The Linux kernel's inability to gracefully handle low mem...
by chmod775 on Tuesday August 06, 2019 @08:26AM
(#20624491)
Texture compression is inherently lossy, so it isn't an option.
It's also really dependend on your textures and what you want to do with them, you don't want browser to just go give it their best shot at compressing your company logo.
Or are there any browsers where you observe significantly less memory usage on the same websites? (Ignoring limited browsers like Lynx of course)