Hi all, nearing the holidays, it's time for a new Emscripten SDK package. There are a plenty of exciting changes coming in to Emscripten, some of which are experimental at this point, but will mature as the new year progresses. Here's highlights of the new developments in this SDK version: - in order to improve compilation performance, more of the Emscripten compiler optimizer backend is being converted to native C++ code. In the new 1.27.0 there is an experimental option -s NATIVE_OPTIMIZER=1 option that you can enable to test this feature. Some time in the future, we are looking to enable this by default, so let us know well ahead of time how this is working out for you. - The asm.js spec is getting an option for resizing the asm.js heap during runtime. This means that currently in Firefox Developer Edition (Firefox 35 and up), building with -s ALLOW_MEMORY_GROWTH=1 will allow asm.js validation while being able to expand the memory space on demand. This will help applications tackle memory issues once the specification becomes more adopted. - This SDK release contains the Emterpreter feature, which is a research project to improve startup times of Emscripten pages. Find more information here: https://groups.google.com/d/msg/emscripten-discuss/vhaPL9kULxk/_eD2G06eucwJ - For a good while now, Emscripten has been getting more support for SIMD intrinsics. This is very experimental as the spec is not complete yet, and one can't expect runtime performance yet because browsers don't have the support yet, but we have a polyfill for SSE intrinsics which we are polishing in order to bring the compiler correctness and support in. Once the support matures, we'll start asking developers to try out their SIMD code on it, to expose issues and get eyes on the performance landscape. To get a grasp of where the implementation is at, follow the label SIMD in the issue tracker: https://github.com/kripken/emscripten/labels/SIMD - Emscripten SDK 1.27.0 introduces a "Emscripten Ports" mechanism which allows downloading and compiling Emscripten ported libraries as needed. Currently SDL2 and Zlib are supported by passing -s USE_SDL=2 and -s USE_ZLIB=1. - WebGL 2.0 specification and implementation is maturing, and Emscripten is following the progress, and has added more support for WebGL 2.0/GLES3 in the codebase. This support can be prototyped in Firefox Nightly by following these instructions: https://wiki.mozilla.org/Platform/GFX/WebGL2 . Build your Emscripten code with the linker flag -s USE_WEBGL2=1 and also possibly with -s FULL_ES3=1 for full GLES3 emulation, and initialize a WebGL2 context using the HTML5 WebGL context creation API. Bug reports and success/failure stories on this front are very welcome. - Emscripten HTML5 API features two new interfaces for more detailed rendering management. The HTML5 Fullscreen API has been extended to enable different preset strategies for fullscreen mode presentation. Check out https://github.com/kripken/emscripten/pull/2975 for details. A second interface enables applications to control vsync timing for 30fps/60fps/uncapped vsync rendering. Read more on that here: https://github.com/kripken/emscripten/pull/2839 . The uncapped vsync control entails some amount of emulation at this point. There is a recent email thread at https://www.khronos.org/webgl/public-mailing-list/archives/1411/ titled "[Public WebGL] dev-tools 60fps limiter toggle" discussing the addition of proper vsyncless rendering control in the browser. If you find this important, please raise your opinion in that thread and/or the different bug reports to browsers for support. - Emscripten SDK 1.27.0 will be the last compiler release that uses the upstream LLVM/Clang 3.3 compiler backend. The 'incoming' development branch in Emscripten has been merged to LLVM 3.4 now, so once that matures, the next SDK release will be based on that version.
Updating existing installations to 1.27.0 is done with the usual mantra: "emsdk update", "emsdk install sdk-1.27.0-64bit", "emsdk activate sdk-1.27.0-64bit". For new installations, download packages are directly accessible here: - Windows 64-bit Web Installer: https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-1.25.0-web-64bit.exe - Windows 64-bit Full Offline Installer: https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-1.25.0-full-64bit.exe - Windows Portable .zip: https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-1.25.0-portable-64bit.zip - Linux and Mac OS X Portable archive: https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-portable.tar.gz This will be the last SDK release for this year, so wish you all Emscripteners happy holidays, and keep on making native apps webby! Jukka -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
