Posts Tagged ‘Javascript’

No Comments

Browser performance and CPU load

Tuesday, June 14th, 2011

Chromium is using 2 cores and Opera isn’t running full speed on Sunspider JS benchmark. That is the outcome of a simple test running TOP while taking the sunspider benchmark on a quadcore (AMD 630) Ubuntu 64 machine with the three main browsers: Chromium, Firefox and Opera. Opera 11.11 is surprisingly never using more then 80% CPU while Firefox 4 is using 100% and Chromium 12 150%. A quadcore can take 400%, when all 4 CPU cycles are fully utilized. Opera is the slowest performer on the benchmark, no surprise and Firefox is somehow disabling graphical output: nearly no load on X-server, and no visual graphical output, while Opera and in a lesser extent Chromium show a lot of flickering and flashing. Opera is also putting a bigger load on Compiz, the compositing window manager for Linux, AKA 3d eye candy. But Opera, as said before, is also giving more visual feedback about downloading files and stuff with an animated icon in the addressbar.

Sunspider benchmark results

Firefox 4:	Total:		   355.6ms +/- 2.6%
Chromium 12:  Total:		   348.2ms +/- 4.9%
Opera 11.11:  Total:		   413.2ms +/- 3.3%

TOP results

Firefox 4
Tasks: 277 total,   2 running, 273 sleeping,   1 stopped,   1 zombie
Cpu(s): 27.1%us,  3.5%sy,  0.0%ni, 69.0%id,  0.3%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   5093632k total,  5016508k used,	77124k free,   220824k buffers
Swap:  9055228k total,		0k used,  9055228k free,  2074600k cached

7063 user	   20   0  923m 325m  41m R  101  6.5   2:46.61 firefox-bin
2193 root	   20   0  235m 131m  32m S   12  2.6  12:11.16 Xorg
3119 user	   20   0  374m  62m  20m S	8  1.3   5:13.44 compiz

Chromium 12
Tasks: 280 total,   3 running, 273 sleeping,   3 stopped,   1 zombie
Cpu(s): 44.0%us,  9.0%sy,  0.0%ni, 46.3%id,  0.8%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   5093632k total,  4856072k used,   237560k free,   217760k buffers
Swap:  9055228k total,		0k used,  9055228k free,  2011968k cached

7317 user	   20   0  880m  81m  26m R  102  1.6   1:20.46 chromium-browse
2193 root	   20   0  243m 138m  40m S   44  2.8  13:07.53 Xorg
7295 user	   20   0  519m  51m  31m R   41  1.0   0:37.04 chromium-browse
3119 user	   20   0  374m  62m  20m S   11  1.3   5:33.46 compiz

Opera 11.11
Tasks: 280 total,   4 running, 272 sleeping,   3 stopped,   1 zombie
Cpu(s): 23.3%us, 11.3%sy,  0.0%ni, 64.1%id,  1.2%wa,  0.0%hi,  0.2%si,  0.0%st
Mem:   5093632k total,  4849588k used,   244044k free,   217972k buffers
Swap:  9055228k total,		0k used,  9055228k free,  2004908k cached

6051 user	   20   0  863m 428m  29m S   81  8.6  13:51.12 opera
2193 root	   20   0  236m 131m  32m R   47  2.6  13:22.27 Xorg
3119 user	   20   0  374m  62m  20m R   18  1.3   5:38.20 compiz


Seems that Opera isn’t going full throttle on benchmarks. I wonder why that is. Chromium is the only browser that is using multiple cores, but it isn’t actually much faster than Firefox. Another interesting thing is that Chromium feels the snappier browser but actually is stressing your PC more.

1 Comment

Canvas Rendering: Skewing Images by Javascript

Saturday, November 8th, 2008

The new HTML5 CANVAS element gives the developer pixel-poking magic. Poke and peek are functions from the good old days that offered the only geeky way to set and read-out individual bytes in the (graphic) memory.

Sure things are better nowadays. To understand how canvas works, imagine an IMG element, of which every pixel can be set individually or loaded from a IMG source.

Opera screenshot canvas element

Opera screenshot canvas element

This means you can filter images, copy them, translate, rotate, scale, in short: a lot. It can also add drop-shadow, although at the moment this is only fully supported by Safari and partially by Opera. Probably Firefox will add support in the upcoming 3.1.


Rendering is best in Opera and Firefox. Safari and Chrome look awful. Webkits’ canvas seems designed to work only with integers while Opera and Firefox translates floats into some anti-alias rendering. Better but probably slower. Opera’s rendering is quite slow.

Update 25-02-2011

Rendering time screen:

Chrome 9 : 50 msec
Opera 11.01:  667 msec
Firefox 3.613: 2829 msec

Opera and Firefox look fine, Chrome’s rendering is jagged.