Live data from Hacker News

Apple proposes new web 3D graphics API

webkit.org

501–510 of 650 posts

Re: Apple proposes new web 3D graphics API

#501
post #290
post #284

Earlier quoted context omitted.

Making a new standard is inevitable. That's not really a choice. Even if the web platform directly replicated one of the existing APIs, you still have to explain how it binds to JavaScript, as well as memory and GPU resource management details. So bringing a modern graphics API to the web will inevitably create a new standard. The question then is whether to try to clone one of the native-level APIs, or make somethin…

> The question then is whether to try to clone one of the native-level APIs, or make something that works on each of the top 3. We think working on all of them is better than tying ourselves to just one. Besides this approach being supportive of lock-in (of underlying closed APIs like Metal and DX), which is more than questionable, more importantly, what shading language should this Web API use for example?

Tying the implementation to a single underlying API is just another kind of lock-in. You can be locked in to an open standard just as much as a proprietary one. Suppose this had been proposed 5 years ago and been tied deeply into OpenGL? In the world of today, that would pretty much make it a dead end. It's just not the job of a standard like this to pick and choose winners at a different level of abstraction.

Re: Apple proposes new web 3D graphics API

#502
post #149

Apple proposing standards is ridiculous. They only care about standards when they're basically forced to adopt/support them, or they're their own. These are the same guys that: - use lightning instead of mini USB - removed the headphone jack - are creating yet another proprietary connector for accessories - don't allow their OS on third-party hardware - only allow developing for iOS from macOS - only allow apps on iO…

> use lightning instead of mini USB mini usb? http://phandroid.s3.amazonaws.com/wp-content/uploads/2009/06... I'm assuming you mean USB-C, which was developed after Lightning with a push from Apple (they contributed more engineers to the USB-C spec team than any consumer electronic company).

I'm assuming he means the 'common external power supply' initiative of the EU of 2009 (and IEC 62684:2011), where a micro-usb connector must be used to connect to a mobile phone, versus the propietary lightning connector of 2012.

Re: Apple proposes new web 3D graphics API

#504
post #501
post #290

Earlier quoted context omitted.

> The question then is whether to try to clone one of the native-level APIs, or make something that works on each of the top 3. We think working on all of them is better than tying ourselves to just one. Besides this approach being supportive of lock-in (of underlying closed APIs like Metal and DX), which is more than questionable, more importantly, what shading language should this Web API use for example?

Tying the implementation to a single underlying API is just another kind of lock-in. You can be locked in to an open standard just as much as a proprietary one. Suppose this had been proposed 5 years ago and been tied deeply into OpenGL? In the world of today, that would pretty much make it a dead end. It's just not the job of a standard like this to pick and choose winners at a different level of abstraction.

We did actually build a standard tied deeply OpenGL, it's called WebGL. And indeed, we foresee the need to move beyond it (though WebGL is still plenty good and not a dead end yet.)

Worth noting also that Khronos is considering a slightly higher-level API than Vulkan as their next iteration. So that's another reason it would be a shame to bind too tightly to Vulkan.

I also find it puzzling how designing to support multiple back ends is "lock-in" but binding tightly to only one underlying API is "open".

Re: Apple proposes new web 3D graphics API

#505
post #376
post #375

Earlier quoted context omitted.

They explicitly said that it's a placeholder. They weren't suggesting it be used. It was just something easy for them to rig up for their initial demo. I think you're reading a lot of intention that isn't there into that placeholder.

OK, so why take the wrong placeholder? Do the homework, and present the initial proposal in a better shape.

But why male models?

Re: Apple proposes new web 3D graphics API

#506
post #132

Earlier quoted context omitted.

I think you'll want to talk to Apple Developer Relations and see if they can put you in touch with the teams responsible for the GPU-level stuff. We as the browser team can't do much with this feedback.

Hi om2, this is completely off-topic, but I'm so intrigued that Safari devs are actually chatting openly about their product, I figured what the heck I'd ask something. A few years ago, I tried my hand at making an HTML5 application using the apple-mobile-web-app-capable, apple-mobile-web-app-status-bar-style, apple-touch-icon-precomposed META tags and the apple-touch-startup-image LINK tag. It was so slick how the i…

I appreciate the list of issues affecting home screen web apps on iOS. We're looking into improving how they work. I can't promise any specific set of improvements or timeline but we are aware of the issues you mention.

Re: Apple proposes new web 3D graphics API

#507

Earlier quoted context omitted.

> It makes no sense to judge the quality of an API by the power of the available hardware it might be running on. I didn't make any such judgement or even mention VR a single time! But, looking at the points you've raised, I can say with confidence that Vulkan has been designed, taking into considering these issues. Vulkan has been carefully engineered from the ground up not to alienate tile-based renderer hardware.…

You did make such a judgement- you wrote: > In terms of performance, I don't think Metal is even a contender, given how bad macOS hardware is compared to Wintel.

I said:

> In terms of performance, I don't think Metal is even a contender, given how bad macOS hardware is compared to Wintel.

The response was:

> It makes no sense to judge the quality of an API by the power of the available hardware it might be running on.

You are right, that my statement is not very clear.

The key point here is that I'm not judging the quality of an API by the power of the available hardware, but the quality of APIs relative to how much overhead they add, and that's quite a different proposition.

Given my intimate frustration with the state of Mac hardware and GPUs, I brushed off macOS as being somewhat ancient w.r.t. modern hardware and benchmarks. You can't go out and buy a Mac with a GTX 1080 for example. In fact, even the best Mac hardware you can buy is ridiculously outclassed by PCs costing significantly less.

However, back to the specific point of interest:

The overhead of APIs can be measured if you run the same benchmark, on the same hardware, with the different API. On Windows, it's possible to compare, say, DX9, DX11, DX12, OpenGL and Vulkan within the same benchmark. It's not possible to test Metal this way.

Specifically though, Vulkan is a C based API which is essentially as fast as it gets, in terms of actual function calls and so on. In comparison, Metal uses Objective-C. If you are familiar with Objective-C, you'll know that it doesn't have the fastest message dispatch (quasi-function call).

Basically, it would be really interesting to compare them, holding all other things equal. But, doing this with off the shelf GPUs simply isn't possible AFAIK. macOS hardware is simply too far behind. You might be able to jury-rig something using an external GPU, but it's still not a good comparison. My past experience of the graphics stack in macOS tells me it's unlikely to be great.

Re: Apple proposes new web 3D graphics API

#508

Earlier quoted context omitted.

> It makes no sense to judge the quality of an API by the power of the available hardware it might be running on. I didn't make any such judgement or even mention VR a single time! But, looking at the points you've raised, I can say with confidence that Vulkan has been designed, taking into considering these issues. Vulkan has been carefully engineered from the ground up not to alienate tile-based renderer hardware.…

You did make such a judgement- you wrote: > In terms of performance, I don't think Metal is even a contender, given how bad macOS hardware is compared to Wintel.

Obviously you can interpret the parents statement in more than one way. My interpretation was as a rather pragmatic statement that the probability that Metal is a high performance design (and implementation) is lowered by the fact that it to date only has targeted lower performance hardware, and thus there could be several undiscovered bottlenecks present. It is generally the case with any code that high performance on less powerful hardware not always imply high performance on more powerful hardware, especially when there are high levels of parallelism and multiple optimised fast paths to choose from.

Re: Apple proposes new web 3D graphics API

#509
post #331

Earlier quoted context omitted.

Why is Vulcan so magical that everyone in this thread thinks it is the only choice?

Your question seems rhetorical, but here are my thoughts anyway... This is the new normal, coinciding with the death of expertise. The WebKit developers clearly are not working in a vacuum, if one bothers to read the blog post: > Our proposal has been received positively by our colleagues at other browser engines, GPU vendors, and framework developers. Not to mention that the WebKit developers are pretty much the for…

I appreciate this comment.

We did indeed discuss this widely. No one thought that an API which only works on top of Vulkan was right, everyone in the relevant sector thinks it has to support the big three. Very few thought modeling the API closely on Vulkan was the best technical path.

I honestly don't understand why everyone here is so obsessed with Vulkan. Cloning it on the web won't make it more successful in the market. Building a Web API that is able to work on top of it (without mandating it) will likely help Vulkan in the end.

Re: Apple proposes new web 3D graphics API

#510

I'd like to see Apple implement Safari's missing functionality before they try and come up with a replacement for WebGL. Where are getUserMedia, MediaRecorder, WebRTC, filesystem, vibration, screen orientation, Service Workers, Web Bluetooth ? What about WebGL 2? I'm sure there are a few more I missed too. Those are things that are really holding the web browsing experience back on iOS/MacOS, not an extra 20% 3D perf…

We are working on many of the things you list. We are able to work on more than one thing at a time though.
Post reply on HN