-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
.NET WebAssembly support of task based parallelism. #40619
Comments
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label. |
Tagging subscribers to this area: @CoffeeFlux |
I believe the main limitation here is browser support for threads. While Chromium based browsers and Firefox I believe now have threading support on desktop, I believe Safari still doesn't and most mobile browser also still don't: https://caniuse.com/?search=sharedarraybuffer. @lewing Can you confirm? |
The Uno team seems to be messing around in this space already. |
@RChrisCoble Yup, that's all based on the work we've done in the .NET WebAssembly runtime to support threads. It just has limited browser applicability currently. |
@danroth27 thanks for the reply. So to put a fine point on the current status of task based parallelism using browser thread support: (cc'ing @lewing )
|
For context on what we're trying to do. We want to take the .Net engine that drives this: And run the exact same code in a browser using Blazor. This code makes heavy use of task based parallelism. It would be quite the success story for the power of Blazor, in my opinion. We also need .Net AOT compilation so we can draw with SkiaSharp. @mattleibow sounds like he's ready to knock that out when .Net 6 preview releases of AOT start dropping. Then take that same work and drop it on mobile with MBB, and/or desktop with the features I now see slated for release with .Net 6/ASP.Net. You guys are doing some extremely exciting work. Next year can't come fast enough. |
We're still in the process of planning for .NET 6, but given the state of browser support for threading and the amount of runtime work we already want to do for .NET 6 I'd say it's looking unlikely that multithreading will land for Blazor WASM in .NET 6.
I do expect that WebAssembly AoT compilation will land for .NET 6, and the current thinking is that this will enable SkiaSharp scenarios. Still lots to work out though - .NET 6 planning is still a work in progress. |
Thanks again @danroth27 for the information and counting that request under #17730. Looking forward to evaluating beta AOT support when available next year! |
Oh oh Daniel, sounds weird. Every time multithreading is pushed away to some unknown future :-( |
@lewing @lambdageek Possible duplicate of #68162? |
Is it in the roadmap for Blazor to support .Net's task based parallelism with WASM threads in .Net 5 or 6?
For instance, Chrome released WASM threads support in version 70. (I'm running version 84), so it's been out for some time. I'm not looking for async/await, I'm looking for maximizing the core usage through Task().
The text was updated successfully, but these errors were encountered: