Under windows, WebGL makes use of DirectX Runtime or OpenGL runtime? - html

Under windows, there are two main 3D libraries. I am wondering WebGL use which? is it configurable? Is it configurable per browser?

Google Chrome and Firefox will by default make use of ANGLE wrapper to convert OpenGL API calls to Direct3D 9.0 (to achieve better compatibility with most hardware). Users can change this default behavior but it seems to be very inconvenient to override this (currently it's not possible to change this settings programatically).
All other major browsers (on windows) will use OpenGL.

I am wondering WebGL use which?
Depends on the browser and the OS.
is it configurable?
Depends on the browser.
Is it configurable per browser?
You mean JavaScript? No.
But why do you care?
Chrome and Firefox use ANGLE so that they work out of the box on a Windows system with only the default drivers supplied by Microsoft installed. For a proper OpenGL implementation installed the user needs to have downloaded and installed the original drivers from the HW vendor. If not, all you get is a rather crappy OpenGL-1.4 implementation/emulation built upon Direct3D 9.

Related

Using local installed lib in site page

Is it possible to use libraries (.dll, .ocx) in modern browsers that were written for the OS Windows and registered in system32 to transfer part of the logic of the site's work and calculations from the server to the power of the local machine? For example, if a web-application is being written as a private app for private user use and you need to transfer part of the system's working logic to a local user's machine to offload the application server's capacities - how can I solve that challange?
Previously, I managed to implement a similar scheme of work in IE when I used the tag with 'codebase' parameter, but now I need to switch to modern browsers, because IE is outdated, but so far it has not been possible to find a working way to duplicate the principle used. Maybe I can somehow use libs that worked in IE in modern browsers?
In IE we can use ActiveX controls. In modern browsers, Microsoft Edge supports IE mode and IE mode supports ActiveX controls, so we can still use the same way in Edge IE mode.
But in other modern browsers, they don't support ActiveX controls and there's no way to use libraries (.dll,.ocx). I think you can only develop a program for users to download and install. You can also refer to the similar threads: thread 1, thread 2. Except some out-of-date solutions, the conclusion is we can't do this in other modern browsers.

WebGL2 supported graphic cards

Is there a list of supported/un-supported graphic cards for WebGL2?
I am encountering a problem in two computers, both running Win7 with Chrome 58 (tested on 56 too), with all the WebGL flags enabled, one computer has nvidia quadro 600 and the other ati radeon HD 2400, both with latest drivers and I get an error that the browser doesn't support WebGL2.
I used the khronos' conformance test at: https://www.khronos.org/registry/webgl/sdk/tests/webgl-conformance-tests.html?version=2.0.1
Anyone encountered a similar problem?
Thanks!
FIRST my Reputation is to low i cant post more then 2 links. Don't worry we find a way around Copy+Paste the text/that/might/look/like/a/link
Type
chrome://gpu/
into the adressbar and you see how good Chrome communicate with the Graphiccard and what task it can perform. - here are some switches to enable and tweak your default(if blacklisted) configuration:
peter.sh/experiments/chromium-command-line-switches/
Take into account
superuser.com/questions/836832/how-can-i-enable-webgl-in-my-browser
Also on Windows OpenGL/WebGL content has to transpile through so called ANGLE interface into DIRECTX. Probably the bug occurs on side of DirectX. Your GraphicCard was listed in ANGLE only for DirectX Version 10. and WebGL 1.0 You can bypass and start using native OpenGL by using the switch
--enable-unsafe-es3-apis
Try Chrome from a Dev channel/Canary.
the problem may fixed in an upcoming stable Version of Chrome
chromium.org/getting-involved/dev-channel

How to apply the OpenGL function

I have a problem of applying some functions of OpenGL(e.g. glDeleteBuffers).
My computer's spec is;
Renderer: AMD Radeon HD 6800 Series
Operating system: Windows 7
Intel(R) Core(TM) i7-2600
I used OpenGL Extensions Viewer 4.4.3 to view information about OpenGL.
I update the latest version of graphic card and found that version of OpenGL is 4.4 and it shows like below picture:
I am not sure what I can do more from now. I would like to use functions like glDeletBuffers, glGenBuffers, glBindBuffer, glBufferData...
Give me some help
The functions you've listed aren't loaded by default even on systems that have hardware supporting modern OpenGL. To get access to these functions you need to query the extension and load it if available.
A guide for querying and loading functions yourself can be found here
If you simply want to load the extensions associated with a OpenGL version (such as 4.1/3.1 etc.) you can use something like GLEW to simply handle the querying and loading for you.
If you want to use older functionality too (while not advised) then make sure to look at loading a compatibility profile to support deprecated version functionality, i.e if you are using the fixed-function pipeline flow. Not that I'd advise it!

Clickonce: Appropriate for web site that is only supported in Chrome?

We are looking for an easy way for our users to download and install a small client widget (it is a windows app) used with our (much larger) web app.
Our web app is currently only supported in Chrome.
Our concern is that the clickonce support piece may be missing from most Chrome installs.
The questions:
-- Is clickonce really going to be useful in this situation?
-- What is the best option for "one click" download-and-install for Chrome on windows?
ClickOnce uses NPAPI which is being removed from Chrome. You will need to look at NaCl, Native Messaging or PPAPI instead of ClickOnce. There used to be browser extensions that you could use, however they have been removed from the store (or no longer work).
Using Chrome should not matter, so yes Click once will be useful in this situation.
The only thing you need to worry about is your clients using Windows and the appropriate version of the .net framework. I hope this helps.

Does Chrome support GPU hardware acceleration for the 2D Canvas under Windows XP?

I keep reading conflicting answers to this question, and I can't find a definitive answer in an official Google document.
By suppressing the blacklist I can enable hardware acceleration for almost every rendering feature under chrome://gpu-internals/ but not the 2D Canvas. My system is service pack 3, fully updated. DirectX 9. All drivers for the onboard video (Intel GMA3100) are completely up to date. The chip is quite capable, and I even flashed my mobo BIOS to the latest version as a last ditch effort. I'm thinking that Google just isn't supporting HW accel. for the 2D Canvas under Windows XP.
The problem is that Chrome developers have disabled Canvas HW Accel for XP, it calls Direct3DCreate9Ex from d3d9.dll which is DirectX 9L available only on Vista+, but it is possible to wrap D3D9Ex on Windows XP via WineD3D Direct3D to OpenGL wrapper. (special thanks to WineHQ/Crossover)
Then we need to disable blacklist and disable sandbox in launch options. (Special thanks to BlackWingCat)
I have already managed to force HW accel for Chromium-based browsers for Windows XP/2003. And it works somehow.
System requirements:
CPU with SSE3 feature support, OpenGL 3.0 hardware/software support.
In fact I use video card from "green" company :)
Installation:
1. Copy and paste d3d9.dll, wined3d.dll, libwine.dll into chrome folder where you have chrome.exe, for example "C:\Program Files\Google\Chrome\Application"
2. Copy and replace d3dcompiler_47.dll and libwine.dll into your Chrome folder where chrome.dll is, for example C:\Program Files\Google\Chrome\Application\49.0.2623.112.
3. Add launch parameters "--ignore-gpu-blacklist --no-sandbox --disable-infobars" to your Chrome shortcut. (without quotes)
4. Run Chrome with your modified shortcut
If you experience issues with Chrome after this hack you can just remove launch options from Chrome shortcut it will disable this hack.
Download:
ChromeHW_accel_XP.zip (tested with backported Chrome 50.0.2661.102 beta-m, Opera 37, Chrome 49)
Known issues:
1. Address bar flickers quickly when you type.
2. HTML5 video doesn't work correctly (you need to force to use Flash Player)
Actually, I can report that Opera 36/37 (chromium based) is a way more stable with this hw accel hack.
UPDATE:
New Chromium builds use libGLESv2.dll version 1.2.0.2448. I'm no expert in VB, but it seems as if the new version doesn't need the mod...
HOWEVER -
The new Chromium builds that use this new libGLESv2.dll always crash (And then restart automatically in safe mode) if you try to enable the overriding of GPU blacklist in flags.
If someone can check this out and report back it would be much appreciated (Could this have something to do possibly with the added support for DirectX 11?)
Update patch is released, anyone interested can check