Live data from Hacker News

Apple proposes new web 3D graphics API

webkit.org

531–540 of 650 posts

Re: Apple proposes new web 3D graphics API

#531

Earlier quoted context omitted.

IMHO you are underestimating the leverage that Apple has given that macs are the tool of choice for most web developers. Apple is probably aware of this and this move looks like an anticipation.

IMHO you overestimate the use of macs as development machines, doubly so in parts of our industry that works on projects where high performance GPU APIs are actually needed (games, cad, simulations)

I would be interested to know, where is such a place.

OSX support for OpenGL is several versions behind, with low performance and you definitely are not going to write AZDO OpenGL code there.

Re: Apple proposes new web 3D graphics API

#532
post #79

Earlier quoted context omitted.

> I understand your desire to have Vulkan on Apple platforms, but it's really a separate issue from the right target for WebGPU. No, it's not a separate issue. If Apple supported Vulcan, the simple act of proposing this new API as a standard would be laughed out of the room. We can only speculate why Apple won't support Vulcan but I'm going to go with "Prefer a solution they designed themselves over one designed by o…

I think you are wrong on that. Vulkan is a low-level native API, not a JavaScript API for the web. Lots of design work needs to be done. In addition, even on platforms where there are unofficial Vulkan drivers (such as Windows), it's likely the natively available API will still have more complete support and better performance. So either way, we need a cross-platform graphics API. Let's focus this discussion on impro…

> I think you are wrong on that. Vulkan is a low-level native API, not a JavaScript API for the web. Lots of design work needs to be done.

Isn't that what we want? A low-level not opinionated API allows the market and the open source community to create solutions that are subject to competition.

If we get an opinionated high level API then we are close to future developments by small agents. Only the big players can decide on the future of 3D graphics on browsers.

Why can't Apple just develop their ideal API over Vulkan and let developer decide what to use?

Re: Apple proposes new web 3D graphics API

#533
post #524

Earlier quoted context omitted.

However, those Windows 7 and 8 machines with AMD and Nvidia GPUs do support Vulkan.

Yes, with these wonderful set of games: https://en.wikipedia.org/wiki/List_of_games_with_Vulkan_supp... Versus these ones: https://en.wikipedia.org/wiki/List_of_games_with_DirectX_12_...

And game availability relates to GPU API support available at the platform... how exactly?

The fact that game studios decide to use one API or another is no factor in evaluating API availability. (Also note how many DX12 games not published by Microsoft are DX12 exclusives - that says something about Microsoft motives, but not about API qualities).

Re: Apple proposes new web 3D graphics API

#534

Earlier quoted context omitted.

It has three things going for it: 1) It's currently the fastest (unlike DirectX) 2) It's not controlled by an OS company (unlike DirectX and Metal) 3) It reflects recent developer and hardware concerns (unlike OpenGL)

And does it make security assurances making it suitable to expose to the web? I know a bit about DirectX and OpenGL, and I wouldn't expose a direct interface to either of them on the web. Does Vulcan make security and isolation assurances? If not then it is useless.

Vulkan has validation layers - that are transparent to both app using the API on one side and to the driver on the other end.

Re: Apple proposes new web 3D graphics API

#535

It is so sad to see this whole discussion. Because I usually think, HN is different, from the angry, uninformed mobs out "on the streets". I mean, I don't know much about low level graphic API's, I read about them, but I don't work with them directly. But apparently most of the people here don't know either! They basically seem to know that they like open standards (so do I) and that Vulkan is a open Standard and the…

These are good points, but here are some more to consider:

- Apple, particularly recently, have been terrible on supporting modern web proposals. Worse than anyone. Much worse than the typical historical reputational lower bar that is Microsoft.

- Apple's record on proposing new web standards has been demonstrably aggressively anti-open and not generally condusive to promoting interop https://www.w3.org/2012/te-pag/pagreport.html

- Apple's general record on cross-platform development is pretty much non-existent. To the contrary, much of their business decisions are specifically based on limiting interop with non-Apple platforms.

I think on a holistic level, if you take Apple's record into account at all, any criticisms from them of a cross-platform proposal of any kind need to be taken in context. Before you even start considering the pros and cons of Vulkan or WebVulkan, there's a very blatant case of cui bono to examine behind this.

Even if you do get past that, the points about commonality between native and web APIs are growing more and more relevant every day as Emscripten, WebAssembly and other such tech brings the two worlds closer to each other. Cross-compilation efforts will invariably be made easier with a more consistent API between (web and native) platforms.

Re: Apple proposes new web 3D graphics API

#536
post #421

Earlier quoted context omitted.

Oh please. Stop claiming every pet issue you have is shared by every developer and that it's "already too late."

Where do I point to any "pet issues"? I don't say it is already too late, I say it might be. That may be overly dramatic but, unless you refute that there is a problem with an actual argument, you are hardly arguing against that.

FWIW, I agree with you. The most recent macbook 'pro' release has caused a majority of the devs I know say 'screw this' and trade their macbooks in for surfaces. Not exaggerating. Apple should be concerned.

Re: Apple proposes new web 3D graphics API

#537
post #524

Earlier quoted context omitted.

Yes, with these wonderful set of games: https://en.wikipedia.org/wiki/List_of_games_with_Vulkan_supp... Versus these ones: https://en.wikipedia.org/wiki/List_of_games_with_DirectX_12_...

And game availability relates to GPU API support available at the platform... how exactly? The fact that game studios decide to use one API or another is no factor in evaluating API availability. (Also note how many DX12 games not published by Microsoft are DX12 exclusives - that says something about Microsoft motives, but not about API qualities).

> And game availability relates to GPU API support available at the platform... how exactly?

When given the option, professional game developers choose the one that better helps them achieving their goals.

Re: Apple proposes new web 3D graphics API

#538
post #41

Earlier quoted context omitted.

We're not complaining, we're explaining the lay of the land. Working on top of all three of these APIs is totally doable and will result in a better API for the web. Things worth noting: - We believe other browser vendors agree with us that the web API should work on all three of the major native APIs. - The web has security requirements which force us to go a bit higher-level than Vulkan anyway. I understand your de…

While Microsoft hasn't committed to supporting Vulkan first-party, every major Windows(and macOS) graphics vendor has a compliant Windows Vulkan driver which performs well, most vendors have two or three independent implementations. There are real applications being built today under the assumption that these drivers will continue to work. Also, given that Windows versions other than ten still make up more than half…

> Also, given that Windows versions other than ten still make up more than half of the PC market, Direct3D 12 is not even an option for most PCs, but Vulkan is.

What hardware Nvidia and AMD will support with Vulkan? It might turn out, that they will support relatively new hardware and Windows 7 usually used with older hardware, so it might be unavailable even for Windows 7. And if those users will upgrade to Windows 10, they'll have working DirectX 12.

Re: Apple proposes new web 3D graphics API

#539
post #319

Earlier quoted context omitted.

> Good design would dictate solving it at the lower level first, then building on that for the higher level. I'm guessing the changes that may occur in the lower level aren't big enough to affect the upper level. A lot of people in this discussion seem to just be operating under the assumption that the web API SHOULD be the same as the native API. But if you want a layer of indirection there for any reason (optimizat…

It's not that it should be the same exactly. But I don't see any advantages in it being drastically different. It can be higher-level if needed, but if it's similar both conceptually and in things like semantics and even naming, it's just fewer concepts to hold in your head, and therefore easier to learn. That, to me, is an advantage. Why make stacks more complicated than they need to be?

That's pretty much the reason why Google went with Java as the first-class language for Android dev back then: being late to market they wanted the biggest programmer skill subset available, and that was (perhaps still is?) Java.

Neverming the fact that it implied running a VM on a phone, tie themselves to Oracle in undesirable (read: licensing) ways, or that it was not the best technical choice: market forces (including dev skillsets in production, down to mass customer adoption) determine the winning strategies in tech. It's all about money, and waiting for hundreds of thousands of devs worldwide to train on a new tech isn't cheap nor easy nor fast.

So that's a good real-world example of a successful strategy that didn't make much sense from an engineering standpoint (surprising move by Google of all big tech, given their deep engineering DNA/culture).

However it's been stated time and again that most people Apple talked to regarding WebGPU are in agreement that this high-level web API should be able to target pretty much any and all low-level graphics API (DX12, Vulkan, Metal and perhaps others eventually, like NVN or other custom implementations on consoles etc.) So there's that. The reasons are probably as much political as they are technical (nobody probably wants to drop their own horse). It might require more work, and produce lesser results (in terms of performance) but ultimately that may be the way to make WebGPU succeed, regardless of who's proposing it.

If we look at the JS situation generally (ref: "what it's like using JS in 2016"), the same could be argued that standards are very much not the norm beyond W3C specs (because TypeScript this, framework that, Babel this, npm that, etc.) Is that a good thing? Some say yes. Is that a bad thing? Some say yes. If we end up having several disparate implementations of WebGPU we know it'll be the same: you have one problem to solve and a solution space that's 10x redundant -but what little idiosyncrasy you find in all this mess is also the reason why everyone and their mother can use JS (different problems meet a bunch of various solutions), it's also probably why the field is so dynamic.

The matter of the fact, imho, is that thinking of 3D on the web in 2017 without considering AR/VR from the get go is just a loss of time, and that implies catering to mobile (because the economic revolution of that will be shaped as portable glasses or lenses, not 60-pounds workstation). It's highly likely that these devices will rely on custom/new OS more of an IoT flavor, and in making these the classic vendors (MS, Google) can add whatever drivers WebGPU requires by then. In the meantime, it may be a reason not to lock anyone into any particular low-level API, including OSS Vulkan, simply because we don't know yet what the actual reqs/specs of the next wave of devices will be. Designing WebGPU to be low level API-agnostic is probably safer in this transitional environment.

Not advocating anything here, just thinking out loud.

Re: Apple proposes new web 3D graphics API

#540
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.

You are thinking about desktop AAA games. There're mobile games too and Apple produces very performant mobile devices.
Post reply on HN