Opera Core Concerns

Official blog for Core developers at Opera

WebGL and Hardware Acceleration

, , , ,

A long time ago, in an office far far away...Opera released a custom build showing an implementation of a 3D canvas context. Now, more than 3 years later, we are releasing the first public build with a standards-based 3D canvas implementation using WebGL for Windows.


A WebGL demo running in the Opera 11 preview with WebGL and Hardware Acceleration for Windows

WebGL is a standard developed by the Khronos group, where Opera is an active member participating in the standardization process. We have been working on a WebGL implementation since early 2009, when the standardization process started. The specification has been changing quite frequently over the past few years, but now it is starting to mature and stabilise, which makes this the perfect time to release a public preview of our current WebGL implementation.

For those of you who have never heard of WebGL, it is a context to the canvas element which gives you hardware-accelerated 3D rendering in JavaScript. The API is based on OpenGL ES 2.0, which means that it is possible to run WebGL on many different devices, such as desktop computers, mobile phones and TVs. The WebGL public wiki contains more information about the standard, including tutorials and lots of demos – so it is a good place to go if you want to see our WebGL implementation in action.

Hardware acceleration

In June 2008 – around the same time as our first 3D canvas experiments – we showed a video preview of our fully hardware-accelerated renderer. One of the requirements we had for enabling that code was that the software fallback – used when hardware acceleration is not available – should be at least as fast as what we were using in our desktop product at the time. To achieve that, we spent a lot of time and resources on optimizing our software renderer, which has been used in Opera's desktop browser since version 10.50 and has proven to be one of the fastest renderers around. Following the release of 10.50, we once again focused on our hardware renderer.

The results of this work have been rolled into this preview as well, meaning that this build also has full hardware acceleration enabled (on systems with compatible hardware and drivers).

Our hardware acceleration is a bit different from what other browsers have implemented. Most of them do full hardware acceleration of all draw operations, but only on Windows Vista and Windows 7 - dropping to a more limited set of accelerated draw operations on other platforms. Our implementation will feature full acceleration on any OS with sufficient hardware support. This means we can also use fully hardware accelerated draw operations on Windows XP, Linux, Mac OS X and OpenGL ES 2 capable devices such as recent smart-phones and web-enabled TVs.

Our hardware acceleration is a bit different from what other browsers have implemented. Most of them do full hardware acceleration of all draw operations, but only on Windows Vista and Windows 7 - dropping to a more limited set of accelerated draw operations on other platforms. Our implementation will feature full acceleration on any OS with sufficient hardware support. This means we can also use fully hardware accelerated draw operations on Windows XP, Linux, Mac OS X and OpenGL ES 2 capable devices such as recent smart-phones and web-enabled TVs.

OpenGL

opera:about showing the new Vega backend entry

This build only has an OpenGL backend. That means your system must have an OpenGL 2.x compatible graphics card and related drivers for hardware acceleration and WebGL to work. In future builds we will also add a Direct3D backend, which will reduce the requirements on drivers and should work out of the box on most modern systems.

So how can you tell if hardware acceleration is enabled? There are two easy ways to check. The first option is to load some WebGL content – if it works that means your hardware and drivers are compatbile, and hardware acceleration is enabled in the browser. Alternatively, you can check the new "Vega backend" entry in opera:about – if the backend listed is OpenGL, you have hardware acceleration enabled; otherwise, the entry will show that the browser is using Software backend.

Download it!

This preview build is currently only available for Windows – but builds for other operating systems are being worked on as well.

Opera 11 preview with WebGL and Hardware Acceleration for Windows

Disclaimer: this is not a stable build – it is an early preview of upcoming technologies in Opera. Neither WebGL nor hardware acceleration will be included in the upcoming release of Opera 11.10 for desktop. Some other aspects, such as SVG rendering, may not work correctly. We will continue working on these new features – fixing on all remaining bugs and optimizing our code – and we will release further preview builds to keep you up to date with our progress.

Please give us your feedback – but remember to include information about which graphics card and driver version you have, and if Vega is using the OpenGL or Software backend.

Ragnarök — viking browser with HTML5 parser!

Comments

Nico 28. February 2011, 17:04

Thank you for this early preview Build!

Dustin Wilson 28. February 2011, 17:06

Leave it up to Opera to finally do this properly.

João Eiras 28. February 2011, 17:07

"our implementation will run on any OS with sufficient hardware support. This means we can have full hardware acceleration on Windows XP, Linux, Mac OS X and OpenGL ES 2 capable devices such as recent smart-phones and web-enabled TVs."

Win !!!!!!!

Charles Schloss 28. February 2011, 17:09

!

dzooky 28. February 2011, 17:15

waiting for releases for other OS bigsmile
yeah

Daniele 28. February 2011, 17:22

Great! HA in Opera!
Please tell me that the intel x3100 in my macbook supports OpenGL 2!

Rachid 28. February 2011, 17:28

So, who's first to run Microsoft's fish tank test? ;-)

Erik Haubold 28. February 2011, 17:34

omg...just waiting for a linux-release

victornogueira 28. February 2011, 17:35

DirectWrite for better font smoothing on Windows would be great! smile

Topi 28. February 2011, 17:38

Can't install!

The installer crashes my VGA drivers, everything freezes, screen goes black (with artifacts) and then it returns.

AMD catalyst 10.10 and 11.2
4870x2
W7 x64

Edit:
updates...

Amal-isa 28. February 2011, 17:39

Oooh! After 0.5 hourse my speed will be more! Me need to download!

Patrick O'Reilly 28. February 2011, 17:44

It's starting to get a bit confusing with Snapshots here and Barracuda previews coming from the Desktop team.
Good news that WebGL is coming to Opera nevertheless.

Александр Карпинский 28. February 2011, 17:47

I install this build on Win7 with geforce 8800gt and have Vega backend is
Software. What can I do to enable hardware?

Hamana Hadrien 28. February 2011, 17:53

Originally posted by paddy2k:

It's starting to get a bit confusing with Snapshots here and Barracuda previews coming from the Desktop team.


seconded. was on the latest barracuda release. feels like downgrading~
Anyway, the smooth scrolling isn't as smooth anymore. First thing noticed.

d4rkn1ght 28. February 2011, 17:57

Cross platform with full hardware acceleration!

Sweet! yes

cousin333 28. February 2011, 17:58

Starting any test like IE9 testdrive freezes the whole computer in no time, only reset helps. OK, we wanted HW acceleration ASAP, but we meant a bit buggy but working one... smile I would call it a terrible start... (as I'm not alone with that problem)

Ati 3850 + Catalyst 11.2 + Win7 32 bit

Robert Meijers 28. February 2011, 18:05

Doesn't seem to work with my Sony notebook (FZ11S). I'm running the "latest" driver from Sony (Windows says it's 7.5.11.6760, NVidia control panel says it's 167.60). Trying to install the latest NVidia driver doesn't work (no graphics card found). So it seems I'm out of luck until the D3D back-end gets unveiled. Or I should run it on Linux in Wine, which is a really dirty trick to get it running.
Any particular reasons why you didn't release it for all platforms at the same time (especially since you only released the OpenGL back-end)? Or why you released the OpenGL back-end for Windows (AFAIK you have to hope for some decent OpenGL support on Windows, because D3D is still the defacto standard and not all drivers implement OpenGL that well)?

BS-Harou 28. February 2011, 18:08

Originally posted by homm:

I install this build on Win7 with geforce 8800gt and have Vega backend is
Software. What can I do to enable hardware?


Check your version of driver. If there is some newer version, try install it and run Opera again smile

Haavard 28. February 2011, 18:13

People with ATI cards will probably need to download the latest Catalyst driver to get OpenGL support.

Any feedback from people with NVIDIA cards? Will a manual installation of the latest NVIDIA driver add OpenGL support?

Originally posted by paddy2k:

It's starting to get a bit confusing with Snapshots here and Barracuda previews coming from the Desktop team.

These are not snapshots. They are experimental labs builds intended to preview or test a specific experimental feature. Regular snapshots are intended for general testing towards a final release of that version.

Martin Rauscher 28. February 2011, 18:15

GUI render errors: http://my.jetscreenshot.com/demo/20110228-k8gb-26kb
I get errors with Three.js demos. Many demos are found at http://planet-webgl.org/
Win7x64, ATI Radeon Mobility HD 4670, Catalyst 10.8 (never versions made other problems)

olvman 28. February 2011, 18:17

Since I neither have Win7 nor IE9 I can't compare results, I can only post them:

1000 fish, 1920x1200 fullscreen running at 57 fps

System: Intel Core2Duo E6600 @ 2.4 Ghz, GeForce 9800 GT, WinXP SP3

Topi 28. February 2011, 18:19

Originally posted by haavard:

People with ATI cards will probably need to download the latest Catalyst driver to get OpenGL support.



People with GPU needs a driver to use it... makes sense but doesn't help. (anyone using their computer without drivers?) doh

Haavard 28. February 2011, 18:22

Originally posted by mrkukov:

People with GPU needs a driver to use it... makes sense but doesn't help.

They won't just need a driver. They will need a driver with OpenGL support, which the default Windows drivers apparently don't provide.

DirectX support will be added later, so this won't be an issue in the future.

Martin Rauscher 28. February 2011, 18:24

Will it be possible to FORCE OpenGL? I really like the font rendering on Windows (because it looks EXACTLY like always). And I know this isn't the default for DirectX...

Andrew G. 28. February 2011, 18:24

Explain, please.

When I scroll fast by mouse wheel this page Opera 11.10 alpha Build 2014 use 15-18% of CPU.

When I do the same on Opera 1150 24661 WebGL it use 40-55% of CPU.

Moreover, in the second case Opera scroll this ( http://my.opera.com/core/blog/2011/02/28/webgl-and-hardware-acceleration-2#comments ) much slower.

My notebook has Win7 x32, 1.8MHz Athlon x2 64, 2Gb RAM, Nvidia GeForce 8400MG, the latest drivers.

Martin Rauscher 28. February 2011, 18:25

Originally posted by mrkukov:

People with GPU needs a driver to use it... makes sense but doesn't help. (anyone using their computer without drivers?) doh


The important part was LATEST...

Topi 28. February 2011, 18:28

Originally posted by Hades32:

The important part was LATEST...


Driver Packaging Version 8.821-110126a-112962C-ATI
Catalyst Version 11.2
OpenGL Version 6.14.10.10524
Catalyst Control Center Version 2011.0126.1749.31909

LATEST enough?

uganson 28. February 2011, 18:29

Works fine, all the WebGL demos run smoothly. Very nice preview!

I see differences in font rendering vs 11.01, probably ClearType issues, i.e., when I select text on the address bar.

I'm wondering, in which situations will be noticeable the hardware acceleration for the whole browser window, apart from webGL webpages.

I have a laptop with nVidia 8600 card.

Martin Rauscher 28. February 2011, 18:29

Morphdreamer 28. February 2011, 18:31

Originally posted by haavard:

People with ATI cards will probably need to download the latest Catalyst driver to get OpenGL support.


I have Ati HD4850 + Catalyst 11.2 + Win7 64bit and opera:about page says that OpenGL backend is enabled. However browser is lagging sometimes, for example it takes 2 seconds to open new tab and those IE performance tests are slower than in Opera 11.

Edit: And I have only 10fps in IE's fish tank test even with one fish.

Martin Rauscher 28. February 2011, 18:35

http://ie.microsoft.com/testdrive/Performance/FishIETank/Default.html is about 4 times slower than in IE9 for me (for my specs, see above)

Is performance expected to increase much?

Muhammad-Ubaid raza 28. February 2011, 18:36

What about Intel integrated graphics?

Does x3100 and x4500 are supported?

Robert Meijers 28. February 2011, 18:39

Originally posted by haavard:

Any feedback from people with NVIDIA cards? Will a manual installation of the latest NVIDIA driver add OpenGL support?


I've just hacked in the latest driver (266.58) and it works. (forced a installation from Windows and didn't use the NVidia installer)

Bruno Casano 28. February 2011, 18:44

Is the UI accelerated too, like the 2008 demo (back and forward effects, etc.)

webtax 28. February 2011, 18:52

ati tray tools OSD working in opera xp32 ati hd4850



up
ill report back with nvidia and intel

chadsort 28. February 2011, 18:53

Several issues here:
1.) UI artifacts on tabs, menus and tab previews
2.) Font artifacts
3.) Horribly slow on IE9 tests
4.) Smooth scrolling is extremely choppy
5.) Typing username/password into forms is VERY slow
6.) Speed dial layout is messed up (returns into a default of 9 entries)
7.) Entire UI is just non responsive

Windows 7 32 bit ATI HD4850 Catalyst 11.2 (latest)

cousin333 28. February 2011, 18:58

I've already found two people, who run it just fine. smile Both of them uses 5xxx series ATI GPU with Catalyst 11.2 and Win7 64(!)bit...

Haavard 28. February 2011, 19:00

Originally posted by chadsort:

Several issues here:

Yes, it's a Labs build.

Originally posted by chadsort:

Horribly slow on IE9 tests

I haven't been able to try IE9 yet, but it's faster than Firefox 4 beta 12 on the tests I gave a quick try.

Originally posted by chadsort:

Speed dial layout is messed up (returns into a default of 9 entries)

Yes, again, this is a Labs build.

alex 28. February 2011, 19:02

Originally posted by chadsort:

Speed dial layout is messed up (returns into a default of 9 entries)

Yes, again, this is a Labs build.

Remco Lanting 28. February 2011, 19:09

Since this is a windows only release, I installed it in crossover games (wine). And to my surprise, it works! I can't wait for the native release bigsmile

Erik Haubold 28. February 2011, 19:10

no problems here with win7 32bits, geforce 9600gt and driver which got installed by windows through windows-update.
(windows tells me something about version 8.17.12.5896 from 9.7.2010)

Baldric 28. February 2011, 19:13

I can't install this build sad
The installer give this error after extracting: "Error initializing Opera: module 10 (locale)"

win 7 64 bit, Ati Radeon X1650

Krio Lyth 28. February 2011, 19:17

Well, there's definitely overdraws and jitter (when hovering tabs for thumbnails), "download complete" popup struggles for resources with the demo page, letter "m" is overlapped by the next letter here in the reply box...but it works! Great job!

Win XP 64bit, NVidia GTX 285, driver 258.96, OpenGL backend.

serious 28. February 2011, 19:29

So ... when can we expect a build with both Ragnarök and OpenGL? bigsmile
Also: is SVG & Canvas also accellerated with this (at least in theory) or not?

sleepyhead 28. February 2011, 19:34

Win XP
GeForce 6200 TurboCache, driver 266.58 (8. January 2011)
OpenGL Viewer says I have 100% in all up to version 2.1 (all there after still between 0 and 55%)

Yet Opera shows
Vega backend - Software

vrah 28. February 2011, 19:39

One thing noticed right away is, that with bigger page zoom than 100% (i use 150% as default) most background-images tend to repeat instead of just appearing once. Can be seen even on this page - "My Opera" text on top of this page or in opera:about - "O" logo looks very poorly. Dragonfly at 150% looks even more scary wink

Win XP 32bit, Radeon HD4870, newest Catalyst 11.2.
Vega backend: OpenGL

Maxim 28. February 2011, 19:40

page "http://labs.opera.com/news/2011/02/28/" has broken text "opera:about"

confirm?

ATI 4850 Catalyst 11.2

KORraN 28. February 2011, 19:43

I've the newest driver for my Mobility Radeon 9700 (6.14.10.6925, Catalyst 8.591, 25 Feb 2009) which fully supports OpenGL 2.1 and still now HA and WebGL. Any ideas?

BS-Harou 28. February 2011, 19:43

I've got nVidia 6600 GT that has support for OpenGL 2.1.2. I've installed latest driver (266.58). But Opera still uses software backend. Why? cry

(Win XP SP3)

Sam Van den Vonder 28. February 2011, 19:44

Backend doesn't seem to be openGL here, while I can prove that I support the Openness of the GL.

http://i53.tinypic.com/2im9rb9.jpg

Maybe Opera doesn't detect this properly?

Originally posted by BS-Harou:

I've got nVidia 6600 GT that has support for OpenGL 2.1.2. I've installed latest driver (266.58). But Opera still uses software backend. Why? cry

(Win XP SP3)



XFX 6600 GT here (basically the same) and installed the latest driver. Could it be that this happens to all 6600's?

Maybe Windows somehow thinks it knows better and ignores the openGL driver despite it being installed?

Write a comment

You must be logged in to write a comment. If you're not a registered member, please sign up.