News for hackers. Stuff that matters.
Re:Doom 3 in WebAssembly by rubbingalcohol on Thursday January 03, 2019 @02:16PM (#18818215)
Getting something like this running in a web browser at acceptable performance is a significant technical achievement.
Re:Doom 3 in WebAssembly by nicoburns on Thursday January 03, 2019 @02:18PM (#18818238)
Is it? Web browsers aren't that much slower than native (around 2x with web assembly and WebGL I think).

It's much harder for apps that are trying to render to the DOM (which is very slow). But WebGL apps should be perfectly fast in browsers...

Re:Doom 3 in WebAssembly by johndough on Thursday January 03, 2019 @03:29PM (#18818982)
All WebGL implementations have significant overhead compared to native GL. For example, just clearing the screen at 60 fps taxes my CPU at 10% on Windows (30% on Linux) while a C program that does the same uses 0% CPU.

The reason for the performance penalty with Firefox on Linux is that the framebuffer content is copied from GPU to host memory, compositing is done and then it's copied back to GPU.

For other platforms I'm not sure.

Further, SIMD support has been removed from Javascript and not been added back to WebAssembly yet, so that's another factor 4-8 for computation-heavy code. Experimental pthread support is only available in Chrome experimental for now due to the Spectre and Meltdown exploits. And general GPU compute apparently is really tricky to implement in a secure way, although DOOM does not use it.

Re:Doom 3 in WebAssembly by floatboth on Friday January 04, 2019 @05:01AM (#18822941)
> copied from GPU to host memory, compositing is done and then it's copied back to GPU

Shouldn't happen with GPU compositing in Firefox (layers.acceleration.force-enabled), right?

Re:Doom 3 in WebAssembly by Thaxll on Thursday January 03, 2019 @02:19PM (#18818251)
It has been years that we have WebGL running in the browser, not to mention Linux kernel ect ...
Re:Doom 3 in WebAssembly by sneakernets on Thursday January 03, 2019 @02:24PM (#18818302)
Hardware acceleration in Linux? someone pinch me, I'm dreaming.
Re:Doom 3 in WebAssembly by Thaxll on Thursday January 03, 2019 @02:31PM (#18818374)
I'm talking about running Linux in the browser:

https://bellard.org/jslinux/