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.

Reply via email to