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?
Apple proposes new web 3D graphics API
501–510 of 650 posts
Re: Apple proposes new web 3D graphics API
#502Apple 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).
Re: Apple proposes new web 3D graphics API
#503Re: Apple proposes new web 3D graphics API
#504Earlier 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.
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
#505Earlier 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.
Re: Apple proposes new web 3D graphics API
#506Earlier 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…
Re: Apple proposes new web 3D graphics API
#507Earlier 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.
> 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
#508Earlier 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.
Re: Apple proposes new web 3D graphics API
#509Earlier 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…
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
#510I'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…