Recommended Posts

Everyone has encountered this unstoppable memory eater called web browser. I've been using it myself you know for ALOT of time and it's not very pleasing.

I've made some analysis and saw that the main page of neowin isn't so big and the browser doesn't have to download much code, images and other needed files for displaying the page, but why does 600KB of data stretch to 100MB for example in Chrome?

Does anyone know what eats the whole memory? The rendering, displaying, storing data structures of the page or the V8 engine with it's JavaScript interpretation or the Flash Player or some other memory eating beast? I suspect V8 for that. Even without all the flash player instances in a webpage it still uses an awful lot of memory, if I use a flash player blocking extension for example or check the Chrome task manager and see how much memory all flash player instances use.

What's the oppinion of the neowin community? Where goes all our precious memory?

Link to comment
https://www.neowin.net/forum/topic/1149408-the-memory-eater-called-web-browser/
Share on other sites

I think OP is just trying to figure out why this site is so dang slow the majority of the time when there really isn't much to it?

I know I'd like to know as would a whole bunch of other people as there is a topic here devoted totally to that which is multiple pages long.

Lets use this image as an example

hIbDHbul.jpg

On-disk it's 299KB but decompressed in memory it's 5.3MB. And that's just one image, every single image used takes up memory (Scaled copies, headers, pointers, temporary surfaces used for drawing, etc.), along with the actual screen contents used for rendering (Browsers these days don't draw web pages as a single screen sized image, they split it up into segments and overlay them, meaning you could easy be using 3 or 4 large images to represent a single page, using even more memory, etc.) And then you just have stuff like the DOM (A DOM elemeent takes up more memory than the compressed text that represents it, etc.) CSS information, scripts (compiled and uncompiled), script memory usage, etc.

First off, plugins and extensions aside. We're concentrating on the page itself. Even without them it still takes alot of memory and CPU resources. I agree with The_Decryptor about the decompressed images and the big rendered images. It's a good explanation, but still there was one time a page which took almost 700MB of my memory and it was just a simple article. Probably a memory leak, dunno. How much memory does the JavaScript portion of the neowin page take? Are there tools avaliable to acquire this information?

Remember, the browser does a lot of other stuff in the background... HTTP pipelining, JIT javascript compilation (which eats up quite a lot of memory just by itself) , and other stuff. Unless you're running critically low on memory it's not worth panicking about, memory is there to be used it does no good sitting idle and empty ;)

I think the major problems (especially with Firefox in the past) is that the memory management wasn't all that good, for example after more than a day with the browser open and in that time countless tabs opened and closed, the only way to flush the memory footprint taken up by the browser was to close and restart it.

I use Chrome now, so I don't know how much has changed there, all I know is what I had to do everyday with it :p

I use Chrome now, so I don't know how much has changed there, all I know is what I had to do everyday with it :p

Firefox, now, plays very well with RAM, and in a past, there was problem mostly with addons leaking memory then with Firefox it self, most addon devs made their home work. For example Ad Block Plus still rise overall RAM usage in some about 100MB, but in times with PC +4GB RAM this is small price ;)

It's "time vs space" trade-off. The interpreted nature of webpages is not of the efficient sort to begin with. In browsers you have all too many of these - various attempts at HTML and CSS versions, both usually full of workarounds, leeways, lax attitude and generally shyte code, and then the awesome JS, being previous two plus getting compiled so it doesn't have to interpret it all over again for each little event that happens to run some JS.

They're all actually doing a really good job with a totally backasswards technology in the first place.

Thus it clogs up your RAM. RAM is intended to be used exactly in this way, though. If it sits empty, you've wasted your money.

This topic is now closed to further replies.
  • Posts

    • Well Statcounter doesn't count Edge users as Chrome. It uses the user agent and my understanding is the Brave browser users the standard Chrome user agent for privacy/tracking reasons and compatibility so that would help the Chrome numbers. Some Firefox users change the user agent for again compatibility reasons. I am going to totally guess the Chrome numbers are inflated some 5 or 6%.
    • BATorrent 4.0.0 by Razvan Serea BATorrent is a lightweight, open-source BitTorrent client built with modern C++ and Qt 6, offering a clean, fast, and privacy-focused alternative to traditional torrent apps. It supports magnet links, .torrent files, resume data, sequential downloading, per-file priorities, and even imports from qBittorrent. Power users benefit from integrated RSS auto-download with regex filtering, duplicate detection, and automatic tracker lists from Stremio. Streaming is seamless thanks to auto-detected players like VLC and IINA. BATorrent includes robust VPN tools—interface binding, auto-detection for WireGuard-based services like Mullvad and NordLynx, kill switch, proxy support, and IP filtering. A full WebUI enables remote control, while integrations with Plex, Jellyfin, and Emby automate library updates. With themes, speed scheduling, system-tray alerts, and cross-platform support for Windows, Linux, and macOS, BATorrent delivers a polished, high-performance torrenting experience. BATorrent features: Core .torrent file and magnet link support Resume data — picks up where you left off after restart Import torrents from qBittorrent Create .torrent files from any file or folder Sequential download mode Per-file priority control (skip, low, normal, high) Seed ratio limits with auto-pause DHT, PEX, UPnP, NAT-PMP RSS Auto-Download Subscribe to RSS feeds — automatically download new torrents as they appear Regex filters — match only what you want (e.g. 1080p|720p, S01E\d+) Per-feed settings — custom save path, check interval (5–1440 min), enable/disable Auto-download — matched items are downloaded automatically in the background Supports magnet links, .torrent URLs, and tags Tray notifications when items are auto-downloaded Duplicate detection — never downloads the same item twice Stremio Stremio Addon System pre-installed — works out of the box Auto tracker list from ngosang/trackerslist Streaming Play while downloading — stream video files before the download is complete Supports mp4, mkv, avi, mov, wmv, flv, webm, m4v, ts Auto-detects installed players (VLC, IINA, system default) VPN & Privacy Interface binding — lock torrent traffic to a specific network interface (e.g. tun0) Auto VPN detection — identifies VPN interfaces (tun, tap, WireGuard, Mullvad, NordLynx, ProtonVPN) Kill switch — automatically pauses all torrents if the VPN interface drops Auto-resume — resumes only the torrents paused by the kill switch when VPN reconnects Proxy support — SOCKS5 and HTTP proxy with optional authentication IP filtering — load P2P blocklists to block unwanted IP ranges Protocol encryption (enabled / forced / disabled) WebUI Remote management — control torrents from any browser at http://localhost:8080 REST API with JSON responses Add torrents via magnet link or .torrent upload Pause, resume, remove torrents remotely View peers and files per torrent Dark theme matching the desktop app HTTP Basic Auth with SHA-256 password hashing Configurable port and remote access (localhost vs 0.0.0.0) Interface 3 themes: Dark, Light, Midnight (bat/vampire aesthetic) Real-time speed graph Detailed panel with tabs: General, Peers, Files, Trackers Filter bar: search by name, filter by state (Active, Downloading, Seeding, Paused, Finished) Drag & drop .torrent files and magnet links Drag & drop reorder in torrent list System tray with notifications (download complete, kill switch events, RSS auto-downloads) Splash screen with bat animation Bilingual: English and Portuguese (BR), auto-detected from system locale Bandwidth Scheduler Alternative speed limits — set different download/upload limits on a schedule Time range — configure active hours (e.g. 01:00 to 07:00), supports overnight ranges Per-day control — choose which days of the week the schedule applies Automatically switches between normal and alternative speeds Media Server Integration Plex — automatically trigger library scan when a download completes Jellyfin / Emby — same automatic library refresh via API Configure server URL and authentication token/key in Settings System Cross-platform: Windows, Linux, macOS Auto-shutdown — automatically shut down PC when all downloads complete (60s cancellable countdown) Auto-update system (AppImage on Linux, installer on Windows, DMG on macOS) CLI arguments: pass .torrent files or magnet: URIs directly Keyboard shortcuts: Space to toggle pause, Ctrl+A to select all, Ctrl+O to open Download: BATorrent 4.0.0 | 37.4 MB (Open Source) Download: BATorrent Portable | 51.7 MB Links: BATorrent Website | Screenshot | Changelog Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Well duh. But it's not their agenda, they just push it forward.
    • Easier to move to Firefox, either Zen Browser or LibreWolf (which includes it by default)
  • Recent Achievements

    • One Month Later
      jojodbn earned a badge
      One Month Later
    • Week One Done
      jojodbn earned a badge
      Week One Done
    • One Year In
      jojodbn earned a badge
      One Year In
    • Week One Done
      D0nn13 earned a badge
      Week One Done
    • Reacting Well
      lamborghiniv10 earned a badge
      Reacting Well
  • Popular Contributors

    1. 1
      +primortal
      515
    2. 2
      PsYcHoKiLLa
      231
    3. 3
      +Edouard
      108
    4. 4
      ATLien_0
      88
    5. 5
      Steven P.
      83
  • Tell a friend

    Love Neowin? Tell a friend!