WebGL and Hardware Acceleration
By Tim Johansson. Monday, 28. February, 16:38
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.
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
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.
Comments
1 2 3 Next »
Nico # 28. February 2011, 17:04
Dustin Wilson # 28. February 2011, 17:06
João Eiras # 28. February 2011, 17:07
Win !!!!!!!
Charles Schloss # 28. February 2011, 17:09
dzooky # 28. February 2011, 17:15
yeah
Daniele # 28. February 2011, 17:22
Please tell me that the intel x3100 in my macbook supports OpenGL 2!
Rachid # 28. February 2011, 17:28
Erik Haubold # 28. February 2011, 17:34
victornogueira # 28. February 2011, 17:35
Topi # 28. February 2011, 17:38
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
Patrick O'Reilly # 28. February 2011, 17:44
Good news that WebGL is coming to Opera nevertheless.
Александр Карпинский # 28. February 2011, 17:47
Software. What can I do to enable hardware?
Hamana Hadrien # 28. February 2011, 17:53
Originally posted by paddy2k:
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
Sweet!
cousin333 # 28. February 2011, 17:58
Ati 3850 + Catalyst 11.2 + Win7 32 bit
Robert Meijers # 28. February 2011, 18:05
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:
Check your version of driver. If there is some newer version, try install it and run Opera again
Haavard # 28. February 2011, 18:13
Any feedback from people with NVIDIA cards? Will a manual installation of the latest NVIDIA driver add OpenGL support?
Originally posted by paddy2k:
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
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
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 GPU needs a driver to use it... makes sense but doesn't help. (anyone using their computer without drivers?)
Haavard # 28. February 2011, 18:22
Originally posted by mrkukov:
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
Andrew G. # 28. February 2011, 18:24
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:
The important part was LATEST...
Topi # 28. February 2011, 18:28
Originally posted by Hades32:
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
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:
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
Is performance expected to increase much?
Muhammad-Ubaid raza # 28. February 2011, 18:36
Does x3100 and x4500 are supported?
Robert Meijers # 28. February 2011, 18:39
Originally posted by haavard:
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
webtax # 28. February 2011, 18:52
ill report back with nvidia and intel
chadsort # 28. February 2011, 18:53
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
Haavard # 28. February 2011, 19:00
Originally posted by chadsort:
Yes, it's a Labs build.Originally posted by chadsort:
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:
Yes, again, this is a Labs build.alex # 28. February 2011, 19:02
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
Erik Haubold # 28. February 2011, 19:10
(windows tells me something about version 8.17.12.5896 from 9.7.2010)
Baldric # 28. February 2011, 19:13
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
Win XP 64bit, NVidia GTX 285, driver 258.96, OpenGL backend.
serious # 28. February 2011, 19:29
Also: is SVG & Canvas also accellerated with this (at least in theory) or not?
sleepyhead # 28. February 2011, 19:34
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
Win XP 32bit, Radeon HD4870, newest Catalyst 11.2.
Vega backend: OpenGL
Maxim # 28. February 2011, 19:40
confirm?
ATI 4850 Catalyst 11.2
KORraN # 28. February 2011, 19:43
BS-Harou # 28. February 2011, 19:43
(Win XP SP3)
Sam Van den Vonder # 28. February 2011, 19:44
http://i53.tinypic.com/2im9rb9.jpg
Maybe Opera doesn't detect this properly?
Originally posted by BS-Harou:
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?