Riding the Flow

musings from the shire

Google Chrome for High DPI display

*Update - this article is kept for historical reasons only. For present situation with High DPI web surfing, please refer to a newer article*

It’s not easy to find a browser with good High DPI support. A challenge that on high DPI display web content must be scaled up, otherwise it appears too small (being made for 96 DPI). While not a big problem with vector fonts and images, rescaling raster images is a challenge. Hard to rescale up just slightly – usually image is made blurry.

Up to now Google Chrome has the best upscale implementation (at least in my eyes). It also has pretty good zoom support, with only caveat – now there is no way to set default zoom level not to 100%. Surely they didn’t expect people to set zoom level on every new site they visit? Setting global zoom with extensions is not quite the same – extensions have no access to this zoom setting, they try to imitate global zoom by zooming the root HTML element, which is not working perfectly in many cases.

There is an open issue in Chromium about that - http://code.google.com/p/chromium/issues/detail?id=11321. However given Chrome dev speeds, I expect quite a lot of time before it gets actually done and made into stable release.

So I have quickly hacked support for default zoom into current stable version myself. You can download it here - http://www.mediafire.com/?wc367j1sffd777n

The default zoom support is hacky, but it’s working well enough. There is no way to set it via GUI (sorry), you need to edit Users\<your user name>\AppData\Local\Chromium\User Data\Default\Preferences. Default zoom level is simply the zoom level for special host named “*”

E.g. the “per_host_zoom_levels” section in Preferences file (inside "profile": { section) will appear like:
"per_host_zoom_levels": {
         "*": 2

The above will set zoom level on any new host to 2. This will be 150% - I have changed zoom level calculation a little to make it 25% increments, since it’s the best for image upscaler used.

Since this is Chromium build and not Chrome, it will use different directory to store history/profiles/user data. You can copy your existing one from Chrome, just don’t forget to uninstall any “zoom” extensions, if you were using any – so they won’t conflict with Chrome own zoom!

I plan to periodically release new stable builds with same support, until Google finally implements default zoom. Hope this helps!

Here is the source code patch for you cautious/tech savvy people :)

  • 23/09/2010 – rebuilt from latest Stable 6.0.472.63
  • 23/10/2010 – rebuilt from latest Stable 7.0.517.41


Post a comment