April 2017

S M T W T F S
      1
2345678
910111213 1415
16171819 2021 22
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
marcmagus: Me playing cribbage in regency attire (Default)
Tuesday, August 10th, 2010 03:20 pm

So after my recent experiences with system-wide resource exhaustion thanks to Chromium, I've started paying a bit more attention. This thing gobbles up available system memory like there's no tomorrow. Ok, sure, no point it sitting around idle. Only it's not sitting around idle, because my OS dynamically uses available memory for cache.

Ok, sure, I've actually been somewhat sold on "1. Don't Optimize. 2. Optimize Later.", but seriously, what the hell is this thing doing with all this memory? Yes, the sandboxed multi-threaded model does mean a higher memory footprint, and I really appreciate that I can kill the thread for libflashplayer without bringing the whole browser down, considering that libflashplayer is a piece of junk that crashes on average twice a day (more if I'm actually spending any amount of time using Flash). But still:

  • Each extension gets its own thread. Cool. Why the hell is the minimum private memory footprint for an extension (Eye Dropper) over 7 MB? What the hell does it need 7MB for? (Note: actually using it makes it jump over 16MB, then fall down to 15MB.) For a color picker + eyedropper! Yes, yes, process overhead. 7+MB of process overhead?! And Chrome is supposed to work on phones?

  • The memory footprint for active tabs is comparably appalling. A process containing only the "new tab" page needs 10 MB. In fact, a process containing only a tab on a 73B file containing minimal HTML for a blank page with the title "Nothing" requires 14 MB! (6 MB for JavaScript?!)

    • A page which adds a link to that page is also 14 MB, but then having both pages open in the same process is almost 18 MB, so not only does each browser process have about 10 MB of overhead, but it takes about 4 MB just to have a blank page open, Changing the window size (and killing the thread and starting a new one) doesn't seem to change this significantly, so it doesn't even seem to be that it's allocating a bunch of memory for the display, unless it's doing so for some arbitrary viewport that's not the actual window size. (Actually, I haven't done the math closely enough, I guess it could be allocating exactly the size of my entire display here so I can resize/maximize quickly.

I guess that's probably what's going on. In order to give a snappier response, it's renders every page and keeps it in memory as a bitmap, but also does so as though it were fullscreened in case you change the window size? Which doesn't explain that extension overhead or what it's doing to keep the processor so busy even when I'm not doing much of anything.

I might even appreciate all that, if it worked to give me a responsive system. Except once I've been using it for a bit I'm not actually sure it does. And as mentioned previously, browsing Amazon gets pretty catastrophic. It should in theory be, say, swapping out memory for pages I haven't viewed recently, except it doesn't really seem to do that (until swap spontaneously decided to go from empty to full).

Not sure this is working...stay tuned...

Tags:
marcmagus: Me playing cribbage in regency attire (Default)
Saturday, August 7th, 2010 01:05 pm
  • The annoying problem with Flash where after the browser has been open for a while sometimes it will get messed up such that audio is corrupted and video is slow and choppy happens in Chromium as well, unfortunately.

  • Chromium's threaded model is awesome, in that when this inevitably happens I can kill the thread devoted to Flash and go about my business. Reloading a page that needs Flash (such as the one where I had the problem) will bring it back up and it will work correctly. Any other tabs which were using Flash will show a cute dead plugin image wherever there was supposed to be a Flash object until I reload them to fix it. This is a huge advantage over having to restart Firefox a couple times a day.

  • Attempting to shop on Amazon is painful to the point of impossibility, at least if you shop the way I do (opening a new tab for each item I want to look at so I can keep track of everything). Once I have about 5 Amazon tabs open the entire computer (not just Chromium) slows to a crawl for a while, although it seems to balance out after a couple minutes so I can browse those tabs and do other things as long as I don't, say, try to open another new tab.

  • Correcting the previous, apparently I managed to exhaust both memory and swap on the system, resulting in a giant mess. Unrelatedly, system didn't come up from a reboot due to an upgrade error, so I just lost a few hours to burning a rescue disk and performing a kernel upgrade. (The wasted time was in figuring out the problem and in not being able to multitask during the upgrade.)

  • I miss access to the LJ New Comments Greasemonkey script. However, in writing this, I went and poked around and found Tampermonkey, which provides GreaseMonkey support for everything possible, and which seems to support it, so I think I'm good to go there. Yay.

I'm still not sure if this represents an improvement or a [what's the antonym for improvement?] to Firefox...

Tags:
marcmagus: Me playing cribbage in regency attire (Default)
Thursday, August 5th, 2010 11:02 pm
  • Once it's up and running, Chromium seems able to handle my c. 50 simultaneous tabs comparably to Firefox in terms of overall system performance, or at least not noticeably worse.

  • Restarting with that many tabs is also comparable. I was hoping for an improvement.

  • Actual browsing of the sort of thing I generally browse (which is mostly a lot of text with images) feels noticeably slicker. In particular, in Firefox I get a very noticeable delay when I change tabs or especially windows. In Chromium I can jump around between windows with a delay that is within reason (comparable to typing speed).

  • Yesterday in Firefox I found the scribd webapp for the Prop 8 Ruling unusably slow. Here in Chromium today it's a bit pokey, but quite usable. I sincerely doubt it's a difference between yesterday and today.

  • In-browser video seems to be inconsistent, perhaps depending on the underlying technology. YouTube videos actually seem slightly improved. Other sources (which I have no idea how different they are under the hood) seem choppier than I'm used to. Not sure what to make of this one.

  • I haven't yet had the problem where Flash applications (such as streaming videos) have the audio get completely screwed up and I have to quit the browser to correct the problem. This may just be luck, though.

  • I've tried two programs which are supposed to provide a similar experience to vimperator in Chromium: vrome and vimium. Both offer a really inconsistent user experience (not always working, frustratingly), and a strict subset of the features I want. It seems part of this may well be due to limitations of the Chromium extension architecture, which is, well, frustrating. I'd like more of an :ex-style interface, and the ability to hide the address-bar like Vimperator offers. Very annoyingly, both extensions don't seem to use keypresses chorded with Control correctly, and instead pass them through to the browser.

Tags:
marcmagus: Me playing cribbage in regency attire (Default)
Thursday, August 5th, 2010 08:30 pm

Having heard that Chromium (the Open Source browser under the hood of Google Chrome uses threading to display separate tabs, I thought I'd install it and give it a whirl and see if it can keep up with my normal browsing habits.

Some initial thoughts:

  • I use a two-level hierarchy for browsing, with separate windows for conceptual distinction and tabbed browsing within each to manage multiple things I might want to flip between. Chromium will let me have multiple windows, but new tabs opened via the command-line seem to always want to open in the first window rather than the window with focus.

  • Out of the box I can't easily paste a URL into the browser to open it. There's an extension which does that, but it's a bit limited. It works, but its "open in new tab" feature (very cool idea) opens the new tab in the first browser window rather than the current one.

  • vrome works to provide some vi-like keybindings, but is already missing some features I liked from vimperator. Notably, Shift-Insert seems to work with the chromium clipboard (I thought it did nothing) rather than the selection buffer, removing another way to easily open a URL I have in another program.

You might notice that so far the problem is related to my trying to quickly and easily get all the stuff I had open in my most recent Firefox session open in Chromium to see how they compare. Once I get that going I'll have a much better opportunity for comparison under load; it seems pretty nice and snappy right now, but it's not really a fair comparison yet.

More later...

Tags: