Intel bringing SIMD to Javascript

  • This sounds like excellent news. What needs to happen before C2 devs are able to leverage this? ...Or is this what Crosswalk is?

  • From

    "On top of this, Crosswalk adds extra features which are not available in either Chrome or the Android webview, such as experimental support for SIMD and support for the Presentation API."

  • Yup, 2014 is gonna be a sweet year for HTML5 gaming.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • That's pretty cool. I guess we just have to wait for it to be integrated into chromium/Firefox. I wonder if it speeds up asm.js at all.

  • So does this mean there will be a huge whopping CPU speed boost to our games across all computers and mobiles? It's not very clear to me.

  • It will be a huge boost to all apps using the updated Javascript, as its able to tap into CPU/GPU and SoCs that support SIMD. GPUs especially since the base architecture is just essentially a lot of SIMD (or variants such as VLIW) processors in parallel.

  • Another detail about how the API works and how it fits into the JavaScript landscape :

  • Hmm... I wonder if this means you have to use emscripten or asm.js or if normal JavaScript can get the boost too. It's looking like the answer is no, though. If that's the case, it would be one more reason to eventually rewrite C2's engine in asm.js, if Ashley is up for that idea.

  • I think -- and I could be totally wrong, this is all a bit beyond me -- that this would be an additional boost over asm.js. I don't think you need to use asm.js to take advantage of it. But...I'd love to hear that from someone with a better understanding of all this.

  • Here's an interesting article about asm.js that also discusses SIMD opt's and how they can affect speed. This was written before SIMD could be accomplished inside of javascript: ... -asm-js/3/

  • Sounds like its using Mozilla’s Emscripten compiler, so you write the code in C++, for example, and compile to the SIMD javascript.

    Perhaps there might be critical sections (which slow down games) of the engine code which can to re-written in C++ and compiled as javascript, and used everywhere.

  • This is an interesting feature but is unlikely to produce significant performance improvements in a game engine like C2's. SIMD works best with basic arithmetic over very large datasets, such as changing the gain of a large audio buffer. This type of use case does not really crop up often in a game engine. Browsers probably already use SIMD in their native code to speed up things like audio processing and image decoding, so it's already been used in browsers for some time. Construct Classic only ever used it to speed up pixel-perfect collision tests, but then I still think polys are faster and a better choice anyway, so I'd still prefer not to add that to C2.

  • TiAm I'm in a similar boat as you. I don't fully understand how all the pieces fit, but it's not for lack of trying! I'm always reading up on these forums and industry news, trying to connect the dots.

    Ashley Thanks for the explanation. It's exactly what helps me see which dots connect and which don't

  • Ashley : You are right, but I can see SIMD-speedup as a possibility to emulate image effects where WebGL isn't available, for example. It's true that it's not a game-critical area but I suppose some crafted plugins can do some nice tricks with it .

  • Ashley I thought SIMD would really help graphics related tasks, especially 3D rendering where its highly repetitive data, but surely it could be applied for 2d or even the particle system in C2? I think Pode has a great point as WebGL currently is terribly slow and I would therefore label it broken for mobiles.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)