Live data from Hacker News

Apple proposes new web 3D graphics API

webkit.org

271–280 of 650 posts

Re: Apple proposes new web 3D graphics API

#271
post #102

Earlier quoted context omitted.

So if it higher level than Vulkan where does it fit in with WebGL? I mean can't you pretty much already use low level GPU tech like Vertex Buffers and Shaders already?

If you draw a 2-dimensional chart of low-levelness vs performance, Vulkan, DirectX12 and Metal are all higher performance and lower-level than OpenGL. Metal is a bit higher level than the others and Vulkan is probably the lowest level, but they are about the same performance. WebGPU is a bit closer to the Metal level than the Vulkan level, but it's still lower-level and higher-performance.

Why not write a blog post, comparing a hypothetical: WebMetal vs WebVulkan?

Clearly there is a lot of misunderstanding, or at the least passion in regards to Vulkan and Metal. Rather than disregard it as "yeah, we thought about it.. but no". Why not actually help educate us?

> "Metal is a bit higher level than the others and Vulkan is probably the lowest level, but they are about the same performance"

The above is what you claim, but why not actually put it to the test? Compare the two in an open forum, have a fact based discussion, hopefully including benchmarks and code examples, and come up with conclusions. Allow people to correct you (where appropriate), and write a follow up blog post with conclusions.

You seem to also have another point, "Even if Apple supported it, Microsoft doesn't, and therefore WebKit couldn't implement a hypothetical WebVulkan". That's a fair conclusion, and would push the pressure from Apple over to Microsoft, and at that point no one could fault Apple/WebKit from proposing a different design. However, as it stands (i.e. without an open conversation/comparison), you while clearly educated on the matter, come across disingenuous (I'm sorry to be pointing out the truth).

Re: Apple proposes new web 3D graphics API

#272
post #214

Earlier quoted context omitted.

A hypothetical WebVulkan is tied to an API that it is guaranteed to have to translate from. A hypothetical WebGPU could simply be tweaked to better support its multiple target APIs.

The straightforward translation and predictability of a hypothetical WebVulkan is a strong point in its favor. WebGPU's JavaScript interface can be changed arbitrarily, yes; there is nothing simple about that process.

Vulkan (and similar APIs) are straightforward as translation targets, not so much as sources.

Re: Apple proposes new web 3D graphics API

#273
post #190

Earlier quoted context omitted.

Why so combative? How is a JavaScript API standard going to benefit from Vulkan support on Apple platforms? More specifically, how will a JS API benefit from being built exclusively for Vulkan, instead of multiple "APIs that have nuanced architectural differences", to borrow Dean's phrase?

You can simplify the design and reduce bloat if you don't need to address multiple APIs as backend.

To play devil's advocate: Isn't a big focus of web tech the goal of supporting multiple backends for everything? If a new platform wants to support WebGPU but not Vulkan (ex: XBone or PS4) it should be not just theoretically possible, but actively supported by the design of the Web spec.

Re: Apple proposes new web 3D graphics API

#274
post #223

Earlier quoted context omitted.

Those are pretty subjective assertions. Do you have any evidence to back that up?

Do you have any evidence for your claim that Vulkan is best? Metal and D3D 12 are also low-level APIs designed for performance. I've seen no evidence that Vulkan is better on platforms where there are drivers for two different APIs.

I think we've all gone a bit off the rails here.

Although you and those you've been discussing this with can't agree on which API is better, there's plenty of evidence that Vulcan, Metal and Dx are all quite good. Why then would we introduce yet another "standard" from scratch, as opposed to working to implement one of the existing ones better across platforms (if the desire is truly to build a universal gfx api)?

Re: Apple proposes new web 3D graphics API

#275
post #98

"The major platform technologies in this space are Direct3D 12 from Microsoft, Metal from Apple, and Vulkan from the Khronos Group. While these technologies have similar design concepts, unfortunately none are available across all platforms." So Apple, the only company not supporting Vulkan on their platforms, is complaining that there isn't a cross-platform solution?

I don't know why Apple thinks they're going to have any sway over the people working on 3D graphics. Their hardware support for 3d graphics has been so awful for so long, I have a hard time imagining there's a very big user base they can leverage to get their way. So far as I can tell, what Apple wants here is almost completely irrelevant to the industry.

Because iOS is incredibly relevant (many users willing to buy apps) and the A series chip actually has great graphics performance compared to the mobile competition.

Re: Apple proposes new web 3D graphics API

#276
post #190

Earlier quoted context omitted.

You can simplify the design and reduce bloat if you don't need to address multiple APIs as backend.

To play devil's advocate: Isn't a big focus of web tech the goal of supporting multiple backends for everything? If a new platform wants to support WebGPU but not Vulkan (ex: XBone or PS4) it should be not just theoretically possible, but actively supported by the design of the Web spec.

Could be, but PS and Xbox don't support Vulkan for the same bad reasons (lock-in), so messing up the spec because of that doesn't sound convincing.

Re: Apple proposes new web 3D graphics API

#277
Lots of negativity in this thread related to non-adoption of Vulcan. But we've been waiting too long for generic compute and the sooner Apple leads something to the browser for GPGPU then maybe it will get everyone else to finally act - competing standard or not.

Re: Apple proposes new web 3D graphics API

#278
post #216

Earlier quoted context omitted.

There is a difference between "not officially supporting" Vulkan and completely preventing anyone from providing a Vulkan implementation for your platform. Microsoft allows competing APIs to be integrated into their platform at the driver level. Apple does not.

Could someone not provide Vulkan driver support on the Mac or is it forbidden by Apple to do so?

On Windows, Vulkan support is provided by the IHV graphics drivers from Nvidia, AMD etc. On Mac, Apple themselves ship the drivers (incorporating some portions of IHV code, but ultimately all under Apple's control).

Re: Apple proposes new web 3D graphics API

#279

Earlier quoted context omitted.

What people seem to be missing here is that based on available info it seems Microsoft isn't officially supporting Vulkan either. Sure Nvidia and AMD have released drivers for Windows that have Vulkan support, but we're talking about a web standard that would need to be implemented by browser makers and if Microsoft isn't going to use Vulkan, then what do they implement as the backing for this new standard in Edge? P…

There is a difference between "not officially supporting" Vulkan and completely preventing anyone from providing a Vulkan implementation for your platform. Microsoft allows competing APIs to be integrated into their platform at the driver level. Apple does not.

It used to be the case that 3D APIs other than Direct3D couldn't be used from whatever Metro^H Windows Store apps are called this week. Which kind of blocks it at a platform-within-a-platform level.

That may have changed, I dunno.

Re: Apple proposes new web 3D graphics API

#280
post #50

Earlier quoted context omitted.

Is that really a "just" or is it the right thing to do? Working on top of all the major APIs is the right thing for the web. We've discussed our proposal a lot with key players in this space (including other browsers, GPU vendors, relevant ISVs) and we're pretty sure a cross-API abstraction is the way to go. Some even want to build a form of cross-API abstraction at the native C/C++ level.

No disrespect intended. You've undoubtedly got a much better grasp of these APIs than I do! However... > Working on top of all the major APIs is the right thing for the web. A standard is the right thing for the web. Whether that's an abstraction or agreement upon an existing implementation remains to be seen.

Agreement upon an existing implementation is not sufficient. WebSQL was rejected because it had only one implementation (SQLite).

https://www.w3.org/TR/webdatabase/

Post reply on HN