.. _Browser-limitations: ============================ Specific Browser Limitations ============================ This page lists some of the differences between the latest versions of the major browsers that are relevant to Emscripten-compiled applications and games: - The function :c:func:`emscripten_get_now` returns a wallclock time as a ``float`` in milliseconds. *Opera 12.16* and `Windows Google Chrome 28.0.1500.95 `_ have a limitation that the timer precision is only in milliseconds. On other major browsers (*IE10*, *Firefox 22*, *Chrome 28* on non-Windows) it has sub-millisecond precision. - WebGL is not fully supported on *Internet Explorer* (at least prior to IE12): - *Internet Explorer 10* and older do not support WebGL. Trying to initialize a GL context via EGL, GLUT, SDL or similar will fail. Emscripten applications that do not depend on OpenGL can still run on this browser. - *Internet Explorer 11* supports only part of WebGL 1.0. Some commands, shaders etc. may not work. You may be able to limit your app to using the subset that is supported by IE11. - WebGL support on other major browsers is fairly good (see `WebGL support in different browsers `_). - *Opera 12.16* has limited support for the W3C File API. In particular it does not support `createObjectURL functionality `_, which means that it is not possible to use the browser's image codecs to decode preloaded files in the Emscripten virtual file system. - OpenAL and SDL audio support in Emscripten depend on the Web Audio API (see `Web Audio API support in different browsers `_).