📜 ⬆️ ⬇️

Opera, WebGL and hardware acceleration

Many years ago, in one distant-distant office. Opera presented a separate assembly with the implementation of 3D rendering. Now, more than three years later, we present the first public build with the implementation of the 3D acceleration standard-compliant used for WebGL in Windows.

image
WebGL is a standard developed by the Khronos group , where Opera is an active member involved in the standardization process. We have been working on WebGL implementation since the beginning of 2009, when the standardization process began. The specification has changed quite often over these few years, but now it has begun to stabilize, which makes this time ideal for releasing a public assembly with our current implementation of WebGL.

For those of you who have not heard of WebGL, this is a canvas, an element that gives you the ability to hardware accelerate 3D rendering in javascript. The API is based on OpenGL ES 2.0, which means that WebGL can be run on various devices, such as desktop computers, mobile phones and TVs. The WebGL wiki contains all the information about the standard, including tutorials and many examples - so this is a better place to place if you want to see our implementation of WebGL in action.

Hardware acceleration
In June 2008, at about the same time as our first experiments with a 3D canvas, we demonstrated video with the implementation of full hardware acceleration. One of the requirements that we had for the inclusion of this code was a quick return to the soft mode, when hardware acceleration is not available and it should have been as fast as in all the programs we used at that time. To achieve this, we spent a lot of time and resources to optimize our software render, which was used in Opera 10.50 (Vega lib), which is now one of the fastest. After the release of 10.50, we again focused on the implementation of hardware acceleration.
')
The results of this work are collected in this assembly, this assembly has full hardware acceleration (on systems with compatible hardware and drivers).

Our implementation of hardware acceleration is slightly different from what other browsers do. Like IE9 and FF4, we do full hardware acceleration for all rendering operations, but unlike these browsers, which have this acceleration in Windows Vista and Windows 7, our implementation will work on any platform if only there is compatible hardware. This means that we have full support for hardware acceleration in Windows XP, Linux, Mac OS X and on any device that supports OpenGL ES 2, including the latest smartphones and even TV Prefixes.

Opengl

This build only has an OpenGL backend. This means that your system must support OpenGL 2.x and have the latest drivers to support hardware acceleration and WebGL. In the following builds, we will also add support for the Direct3D backend, which will reduce driver requirements and allow working out of the box on a large number of systems.

image
So how do you know if hardware acceleration works? There are two easy ways to check this out. The first is to download any example from WebGL and if it works, it means that your system meets all the requirements and the acceleration works. An alternative way is to look at the opera: about page and look at the line “Vega backend”, if OpenGL appears there, then the acceleration works, if the software, then no.

Swing!
At the moment we have an assembly only under Windows, but work is underway on assemblies for other platforms.

Opera 11 with WebGL support and hardware acceleration under Windows

Warning: this is not a stable build, all experiments are at your own risk.

Please leave feedback, but do not forget to include information about the video card and drivers that you have, and that uses Vega as a backend, OpenGL or Software.

Source: https://habr.com/ru/post/114659/


All Articles