Live data from Hacker News

UE5 Nanite in WebGPU

github.com

101–110 of 117 posts

Re: UE5 Nanite in WebGPU

#101

Is the demo using user agent strings to determine compatibility? That's not good, and feature compatibility should be determined on a case-by-case basis by simply attempting to detect/use the specific feature. I am on Chromium, not Chrome, and use WebGPU all the time, but the demos tell me to use Chrome, which I cannot do ethically. Would love to try the demos out, this looks like a lot of hard work!

It seems the demos are just broken. I'm getting this error:

WebGPU error [frame][validation]: Fill size (7160950) is not a multiple of 4 bytes. - While encoding [CommandEncoder "main-frame-cmd-buffer"].ClearBuffer([Buffer "rasterize-sw"], 0, 7160950).

Re: UE5 Nanite in WebGPU

#104

Will virtual geometry be integrated into GPUs some day?

Some aspects of it will likely receive hardware acceleration in the future. For example support for a standard virtual geometry mesh format, like this one proposed by AMD: https://gpuopen.com/download/publications/DGF.pdf

Re: UE5 Nanite in WebGPU

#105
On Windows it can't handle device loss.

  ID3D12Device::GetDeviceRemovedReason failed with   DXGI_ERROR_DEVICE_HUNG (0x887A0006)
   - While handling unexpected error type Internal when allowed errors are (Validation|DeviceLost).
      at CheckHRESULTImpl (..\..\third_party\dawn\src\dawn\native\d3d\D3DError.cpp:119)
      at CheckAndUpdateCompletedSerials (..\..\third_party\dawn\src\dawn\native\d3d12\QueueD3D12.cpp:179)
      at CheckPassedSerials (..\..\third_party\dawn\src\dawn\native\ExecutionQueue.cpp:48)
      at Tick (..\..\third_party\dawn\src\dawn\native\Device.cpp:1730)

  Backend messages:
   \* Device removed reason: DXGI_ERROR_DEVICE_HUNG (0x887A0006)

Re: UE5 Nanite in WebGPU

#107
post #50
post #42

Earlier quoted context omitted.

It's not working for me on Chrome under Linux, nor on Android, for what it's worth (though Firefox is what I use for practically all my browsing needs). Something really odd with their detection logic.

WebGPU is not supported on Linux, and it won't for the foreseeable future. On Android you should have at least Android 12, with good enough Vulkan drivers, not blacklisted.

> and it won't for the foreseeable future.

Do you know what's blocking?

Re: UE5 Nanite in WebGPU

#108

Earlier quoted context omitted.

I've used it to build and/or run various machine learning models for text generation, speech recognition, image generation, depth estimation, etc. in the browser, in support of an agentic system I've been building out. Lots of future possibilities as well once support is more ubiquitous!

Your ideas are intriguing to me and I wish to subscribe to your newsletter.

I appreciate that, anything in particular catch your interest?

Re: UE5 Nanite in WebGPU

#110

Is the demo using user agent strings to determine compatibility? That's not good, and feature compatibility should be determined on a case-by-case basis by simply attempting to detect/use the specific feature. I am on Chromium, not Chrome, and use WebGPU all the time, but the demos tell me to use Chrome, which I cannot do ethically. Would love to try the demos out, this looks like a lot of hard work!

> feature compatibility should be determined on a case-by-case basis by simply attempting to detect/use the specific feature

That's a fine goal.

When writing my own component framework for browsers, detection was regularly impossible and I had to depend on browser sniffing. Modernizr code has some very smart hacks (sometimes very dirty hacks) to detect features - a large amount of work for them to develop trustworthy detection code. And detection was usually via side-effects.

My educated guess is that feature detection for Web3D is not simple. A quick google and I didn't find an obvious Web3D feature detection library.

Here's part of the detection code for :checked support in Modernizr:

  Modernizr.addTest('checked', function(){
   return Modernizr.testStyles('#modernizr input {width:100px} #modernizr :checked {width:200px;display:block}', function(elem, rule){
Post reply on HN