Live data from Hacker News

Apple proposes new web 3D graphics API

webkit.org

201–210 of 650 posts

Re: Apple proposes new web 3D graphics API

#201
post #48

Earlier quoted context omitted.

How is this anti-competitive? They're explicitly trying to create a cross-platform JavaScript API for graphics, one that can be built on top of whatever platform-specific low-level APIs that exist. This seems to be the exact opposite of anti-competitive.

Because it's their own. How convenient to propose your own standard as the standard, made specifically for your own engine...

Do you know what a proposal is, by definition? Such things tend to go through a number of web standard committees and are often changed throughout the process. It's not like Apple can directly dictate web standards and expect everyone to fall in line.

Re: Apple proposes new web 3D graphics API

#202

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…

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.

Re: Apple proposes new web 3D graphics API

#203

Earlier quoted context omitted.

Care to back up those assertions with real world evidence?

Intel has no stated intention of releasing production-quality Vulkan drivers for Windows. Forum statement from August: The current Plan Of Record is that Intel® is not supporting Vulkan on Windows drivers. The drivers that were made available on Developer.com are intended for Vulkan developers. So, it is expected that some Vulkan drivers may not work for end users.

A quick google finds an Intel representative providing clarification: https://software.intel.com/en-us/forums/developing-games-and...

So, they ARE planning full Vulkan support on Intel iGPUs.

Re: Apple proposes new web 3D graphics API

#204
post #199

Earlier quoted context omitted.

I think what you are going to find is that there is a lot of frustration w.r.t. Apple not supporting Vulkan. One system for everything else and one system for Apple. > 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. Nothing you assert here is invalid. But, I think you've missed the main point, which is that people don't want an e…

> Actually that's not correct. Vulkan was explicitly designed to be an efficient and high-performance API. As it stands, even as a newborn API, it's the BEST available for 3D rendering on all platforms that support it, unofficial or not. Just because it was designed to be high-performance doesn't mean it automatically wins on platform support and implementation quality. Direct3D 12 is at the same level as Vulkan, and…

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

Re: Apple proposes new web 3D graphics API

#205
post #41

"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?

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 of the PC market, Direct3D 12 is not even an option for most PCs, but Vulkan is.

So if we're being honest, it's not really "all three", but Apple vs. literally every other platform.

Obviously web applications can't simply be trusted not to crash an exposed driver, but "will result in a better API for the web." is exactly the opposite of what you would expect, given the history of high-level graphics APIs. Any layer of abstraction or heuristic other than those required for security reasons, will ultimately increase the number of implementation inconsistencies, that would be objectively worse.

Then consider just the shader language. It would be considerably easier and less error-prone to just support SPIR-V shader programs; but with this there will have to be even more levels of translation, even more places for things to go wrong, and a need to make completely new tooling to generate shader binaries.

Furthermore, driver bugs are a given, but Vulkan makes the skills to debug and report driver bugs portable across vendors and operating systems. If I'm an ISV and users are experiencing issues on Metal on OS X on an AMD card, I don't have layers, I largely don't know where to shim the library, and even if I could figure that out, why should I have to figure it out for every system?

Re: Apple proposes new web 3D graphics API

#206
post #201

Earlier quoted context omitted.

Because it's their own. How convenient to propose your own standard as the standard, made specifically for your own engine...

Do you know what a proposal is, by definition? Such things tend to go through a number of web standard committees and are often changed throughout the process. It's not like Apple can directly dictate web standards and expect everyone to fall in line.

I know, but they could make a proposal based on what most people already agree on, instead of their own thing made for Metal.

Re: Apple proposes new web 3D graphics API

#207
post #165

Earlier quoted context omitted.

I think what you are going to find is that there is a lot of frustration w.r.t. Apple not supporting Vulkan. One system for everything else and one system for Apple. > 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. Nothing you assert here is invalid. But, I think you've missed the main point, which is that people don't want an e…

Vulkan isn't designed for adversarial input. The web language has to be. That alone is likely to require a ground-up redesign.

I'd argue that Vulkan IS designed for adversarial input. It deliberately provides a layer mechanism within the driver for validation of function calls. It's trivial to create your own layers and they can be used to validate EVERY entry point into the Vulkan driver.

Re: Apple proposes new web 3D graphics API

#208

Earlier quoted context omitted.

I think what you are going to find is that there is a lot of frustration w.r.t. Apple not supporting Vulkan. One system for everything else and one system for Apple. > 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. Nothing you assert here is invalid. But, I think you've missed the main point, which is that people don't want an e…

> One system for everything else and one system for Apple. This seems to have worked out pretty well for innovation in the mobile OS market, no?

Yes, for Apple... For the consumer? I don't think so.

As a consumer, the mobile device market is a walled garden. Are apps compatible between platforms? Do you have control over your hardware? Can you choose what software you run on your own device?

Re: Apple proposes new web 3D graphics API

#209
post #192

Earlier quoted context omitted.

Microsoft doesn't need to support Vulkan, because Windows is flexible enough that GPU vendors can expose other APIs like OpenGL or Vulkan without Microsoft's permission. It's a very different situation to macOS, where Apple are the sole gatekeepers of the graphics stack and nothing can ever happen without their direct support.

Not every GPU vendor or all the cards of a vendor support Vulkan. Even new ones being sold today. The adoption is broad but not complete for Windows. I guess the argument can be made that vendors ought to support it but that would vastly expand the scope of any web API Vulkanization efforts.

Support for Vulkan on Windows is pretty extensive - AMD and Nvidia are retroactively supporting their hardware back to 2012, and Intel back to 2015, all of them on Windows 7 and up.

Considering the lengthy turn-around time for these APIs (WebGL 2.0 took four years to get from a draft spec to enabled in some browsers by default), any Windows machine that couldn't run WebVulkan would be rather long in the tooth by the time the standard sees any real world use.

Post reply on HN