David CATUHE Babylon.js / Microsoft

Slides:



Advertisements
Similar presentations
Introduction to Grid Application On-Boarding Nick Werstiuk
Advertisements

CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 Resource Containers: A new Facility for Resource Management in Server Systems G. Banga, P. Druschel,
A Dynamic World, what can Grids do for Multi-Core computing? Daniel Goodman, Anne Trefethen and Douglas Creager
© 2014 Cognizant 4 th March 2015 MBaaS: Mobile Backend as a Service Pablo Gutiérrez / Senior Mobility developer.
Describe the concept of lightweight process (LWP) and the advantages to using LWPs Lightweight process (LWP) lies in a hybrid form of user-level & kernel-level.
MSc. Publishing on WWW JavaScript. What is JavaScript? A scripting language devised by Netscape Adds functionality to web pages by: Embedding code into.
Multiple Tiers in Action
WWW and Internet The Internet Creation of the Web Languages for document description Active web pages.
Lesson Objectives To understand the difference between RAM and ROM
CSE 381 – Advanced Game Programming 3D Game Architecture.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
From Design to Production Practicing what we preach at HP Shane Evans – Product Manager Oded Keret – Functional Architect.
C C Implementation  Prototype based on Firefox 3.0b2 codebase/ Spidermonkey VM  Uses SM contexts to manage multiple JavaScript execution contexts simultaneously.
PD Place Mobile Discussion. PD Place on Mobile Devices Currently PD Place can be used on Mobile Devices using a Web browser* (*may require some pinchin’
1 Isolating Web Programs in Modern Browser Architectures CS6204: Cloud Environment Spring 2011.
ASP. ASP is a powerful tool for making dynamic and interactive Web pages An ASP file can contain text, HTML tags and scripts. Scripts in an ASP file are.
 An essential supporting structure of any thing  A Software Framework  Has layered structure ▪ What kind of functions and how they interrelate  Has.
Web Programming Overview. Introduction HTML is limited - it cannot manipulate data How Web pages are extended (include): –Java: an object-oriented programming.
Lesson 5 MULTIMEDIA. Multimedia on the Web has expanded rapidly as broadband connections have allowed users to connect at faster speeds. Almost all Web.
I/O Software CS 537 – Introduction to Operating Systems.
Are you familiar with Microsoft word 2010 ?? Well this time it is all about the world of MSW 2010.
NativeScript – Open source platform to build Native iOS/Android Apps.
Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8 th Edition Chapter 4: Threads.
A S P. Outline  The introduction of ASP  Why we choose ASP  How ASP works  Basic syntax rule of ASP  ASP’S object model  Limitations of ASP  Summary.
Threads by Dr. Amin Danial Asham. References Operating System Concepts ABRAHAM SILBERSCHATZ, PETER BAER GALVIN, and GREG GAGNE.
Threads and Swing Multithreading. Contents I. Simulation on Inserting and Removing Items in a Combo Box II. Event Dispatch Thread III. Rules for Running.
Ionic Mobile App Development Services
Threads Overview Benefits, User and Kernel Threads.
The Holmes Platform and Applications
Introduction to threads
The Post Windows Operating System
Operating Systems & System Software
Current Generation Hypervisor Type 1 Type 2.
CS 6560: Operating Systems Design
Active Server Pages Computer Science 40S.
Mobile App Development
Processes and Threads Processes and their scheduling
R For The SQL Developer Kevin Feasel Manager, Predictive Analytics
Tutorial 6 Topic: jQuery and jQuery Mobile Li Xu
Meeting demand for immediate election results
IBM Start Now Host Integration Solutions
CS510 Operating System Foundations
Introduction to WebGL 3D with HTML5 and Babylon.js
The Cliff Notes Version
Operating System Concepts
Node.Js Server Side Javascript
VENDORS, CONSULTANTS AND USERS
Myth Busting: Hosted Web Apps
Distributed Systems - Comp 655
Unit 27 Web Server Scripting Extended Diploma in ICT
GIFT / Fiscal Data Package Iteration 3
Modern web applications
Lecture 1: Multi-tier Architecture Overview
Introduction to WebGL 3D with HTML5 and Babylon.js
Modern web applications
Unit 6 part 3 Test Javascript Test.
Introducing the .NET Framework
Multithreaded Programming
Online Multilevel Media Sharing
Unit 6 part 6 Test Javascript Test.
CSC 253 Lecture 2.
LO2 – Understand Computer Software
How to debug a website using IE F12 tools
Node.js development company
Using Babylon.js for beginner
Dynamic Binary Translators and Instrumenters
Yale Digital Conference 2019
Blazor A new framework for browser-based .NET apps Ryan Nowak
How to debug a website using IE F12 tools
Presentation transcript:

David CATUHE - @deltakosh Babylon.js / Microsoft Web Threading David CATUHE - @deltakosh Babylon.js / Microsoft

What is the problem? Today “multi-threading” is more a “multi-process” approach We MUST be able to better leverage multi core CPUs (even on mobile) to improve web experiences and be on par with native applications Examples for Babylon.js: Frustum culling Animation Physics / collisions Particles IA Would be beneficial for the entire web ecosystem

Why not Web Workers? They cannot run a specific function from your current context They cannot share objects (only ArrayBuffers). Transferable objects do not help either as we could have thousands of objects to pass back and forth per frame and only using ArrayBuffer is not enough They require a separated js file to run Impossible to run a specific function without dealing with a lot of plumbing No context capture They are a bit like Processes where we need Threads

Create PromiseTask that could be handled by a scheduler and ran on a different native thread (User will not have control on thread count) Code change is minimal for developers Can capture context directly (no need for transferable objects) How ? Leverage promises

But… Some experiments: A lot of friction from TC39 influencers JavaScript enginesV8 is architected under the assumption one thread is in an isolate at one time Would require huge development effort from browser vendors Some experiments: https://webkit.org/blog/7846/concurrent- javascript-it-can-work/ But…

How ? Improve web workers Extend transferables to user object graph Maybe restrain that feature to workers only Allow us to efficiently work with OffscreenCanvas Could be limited to POCO objects? Ignore DOM/WebGL to make it simple Allow worker creation from a function (not only from a script file) Good intermediate solution

How? Any other ideas?