Developers › Choose Opera

Meet Carakan and Vega

February 5, 2009 · by Espen André Øverdahl

Carakan

In this post, we'd like to highlight Opera's upcoming ECMAScript/JavaScript engine, called Carakan, as well as our Vega vector graphics library, both of which were announced at the Web Directions North conference in Denver, Colorado.


Carakan

Over the past few months, a small team of developers and testers have been working on implementing a new ECMAScript/JavaScript engine for Opera. When Opera's current ECMAScript engine, called Futhark, was first released in a public version, it was the fastest engine on the market. That engine was developed to minimize code footprint and memory usage, rather than to achieve maximum execution speed. This has traditionally been a correct trade-off on many of the platforms Opera runs on. The Web is a changing environment however, and tomorrow's advanced web applications will require faster ECMAScript execution, so we have now taken on the challenge to once again develop the fastest ECMAScript engine on the market.

The name Carakan, like the names of Opera's previous ECMAScript engines, Futhark, Linear A and Linear B, is the name of a writing system, or "script".

We have focused our efforts to improve upon our previous engine in three main areas: register-based bytecode, native code generation and automatic object classification.

How fast is Carakan? Using a regular cross-platform switch dispatch mechanism (without any generated native code) Carakan is currently about two and a half times faster at the SunSpider benchmark than the ECMAScript engine in Presto 2.2 (Opera 10 Alpha). Since Opera is ported to many different hardware architectures, this cross-platform improvement is on its own very important.

The native code generation in Carakan is not yet ready for full-scale testing, but a few individual benchmark tests we ran show that it is already compatible with runs between 5 and 50 times faster, so it is looking promising so far.

Vega

Vega was created shortly after we started working on SVG support, for which we needed a vector graphics library. We looked into what libraries were available to use and met our requirements (fast, low memory usage and working on platforms ranging from phones to TVs and desktop computers). We did not find and good match for our needs, so we decided to write our own. Shortly after we created Vega we also added <canvas> support.

The most recent addition to Vega is the ability to use a hardware accelerated back-end. The back-ends we are using at the moment are OpenGL and Direct3D.

In the core version we are currently developing, Presto 2.3, we have made it possible to use Vega for all rendering in Opera. This means that we can replace the platform specific code for rendering with Vega. In the future it might be mandatory to use Vega for rendering, but in Presto 2.3 it is still possible to use the old rendering back-ends.

There are three reasons for doing this:

  1. Firstly, the new CSS3 background and borders standard is much easier to implement using a vector graphics library. Presto 2.3 adds partial support for CSS3 backgrounds and borders, but only when using Vega for rendering.
  2. The second reason is to support hardware acceleration of our vector graphics. In order to be able to render SVG and <canvas> in hardware we must also be able to directly draw the rendered vector graphics to the screen since reading back the rendered image from the graphics card is usually slower than rendering in software.
  3. And finally, doing this enables us to easily add advanced graphical effects to our UI and to web pages.

Wallpaper

Be sure to download our wallpaper:

Carakan wallpaper

Other recources

Stay tuned for more in the next couple of months!

Readers' comments 31

Left under the original article, as archived.

  • José TorresThursday, February 5, 2009 1:17:51 PM

    :up:
  • Dan AlexandruThursday, February 5, 2009 1:28:39 PM

    The name Carakan (発音:チャラカン)

    Nice. Stick to IPA next time :wink:
  • HenryThursday, February 5, 2009 1:35:50 PM

    Nice! Wallpapers mighty good :up:
    Carakan F.A.Qs
  • TamilThursday, February 5, 2009 2:10:04 PM

  • Charles SchlossThursday, February 5, 2009 2:48:18 PM

  • Artur „Jurgi” JurgawkaThursday, February 5, 2009 4:06:15 PM

    Do you need some cheer? Ca-ra-can! Ca-ra-can!

    BTW: in Polish „caracan” means „cockroach”. ;P
  • Dan AlexandruThursday, February 5, 2009 4:14:10 PM

    @Jurgi Transliterating the Katakana I got CHA-RA-KA-N not "Ca-ra-can".
  • sms985Thursday, February 5, 2009 4:21:14 PM

    the news is spreading fast in all geek-blogs and news portals! good for opera!
  • Ahmed GhanemThursday, February 5, 2009 5:06:31 PM

    That's the news !!!!!!!! go spread it out guys !!!!
  • Ahmed GhanemThursday, February 5, 2009 5:13:43 PM

    Digged !!!!
  • thobiThursday, February 5, 2009 5:24:57 PM

    sounds great :up: :smile:
  • NicoFriday, February 6, 2009 10:47:55 AM

    I am really excited right now.

    Any rough ETA when we can see this in action? Please! :wink:
  • Dan AlexandruFriday, February 6, 2009 11:28:48 AM

    2011 :wink:
  • ExtAnimalFriday, February 6, 2009 1:10:25 PM

    Great news. As someone who works on complex Javascript UIs, I say speed is what we need.

    I'm loving running my apps on Chrome right now, so I'm looking forward to this new innovation from Opera.
  • Sn3ipenFriday, February 6, 2009 1:59:21 PM

    Opera will allways be the fastest browser!

    :cheers:
  • neNDraSaturday, February 7, 2009 5:29:40 AM

    :yesyesyesyes:
    Its good exsperience!
    :up::up: to great thing like dat
  • Barraco Mármol JerónimoSunday, February 8, 2009 4:08:13 PM

    the wallpaper is really cool, i can't wait for the release :smile:
  • FELIX KIMARUThursday, February 12, 2009 5:24:16 AM

    Tha O.s. EVER ON THE FRONT.
  • NuiyThursday, February 12, 2009 11:05:37 AM

    Hai ??
    W bru lho kuT comunity !
  • AnkurSunday, February 15, 2009 1:08:36 AM

    Just curious, how tough would it be to render PDF docs through Vega. It would be a cool feature to have. Right now if I search for something and I find it in PDF, I just skip the results and move on to the next one - or (if I have to) I use "View as HTML" in Google search.
  • Ankur SrivastavaSunday, February 15, 2009 3:06:25 PM

    YAY!! Will this come in Opera 10???
  • olawale oluwagbemiga martinsSaturday, February 21, 2009 9:33:40 PM

    I am really excited right now.
    the news is spreading fast
    Opera will allways be the fastest browser 4 me.
  • RachmaSaturday, May 23, 2009 7:32:05 AM

    carakan = messenger, right? hehe :bigsmile:
    I think it taken from 'Hanacaraka', Javanese font :up:
  • Daniel HendrycksSaturday, October 3, 2009 10:46:31 PM

    Must test... Hakon said we might get to test it at the end of this year. :sherlock:
    http://bit.ly/tpkgL
  • Charles SchlossSaturday, October 3, 2009 10:54:11 PM

    Who knows but I know people are excited about Carakan and Vega
  • Hector Macias AyalaTuesday, December 1, 2009 7:06:12 PM

    Any news on this? FF 3.7 Alpha is already using Direct2D and IE9 will be 3D hardware based too. Hope you guys arent too late to this party.

    its all just about 3 thing.
    presto 2.4, carakan and vega.
  • d4rkn1ghtWednesday, December 2, 2009 3:29:47 AM

    :wait: :zzz:
  • Daniel HendrycksWednesday, December 2, 2009 3:42:14 AM

    Originally posted by d4rkn1ght:

    :zzz:


    Exactly...
  • Charles SchlossWednesday, December 2, 2009 4:02:01 AM

  • PurdiWednesday, December 2, 2009 12:52:55 PM

    Originally posted by hectormacias:

    FF 3.7 Alpha is already using Direct2D


    And Presto 2.4 is faster even without hardware acceleration.
  • Hector Macias AyalaSaturday, December 12, 2009 7:07:23 AM

    Originally posted by Purdi:

    And Presto 2.4 is faster even without hardware acceleration.



    I know, and with Vega it wil be even more, the thing is I can already testdrive FF 3.7 alpha, while I cant testdrive Presto 2.4

About this article

Published inChoose Opera
DateFebruary 5, 2009
AuthorEspen André Øverdahl
Tagsinnovation, vega, technology, opera, carakan
OriginalInternet Archive