Apple seeks to position Metal as part of new 3D graphics standard for web

Posted:
in General Discussion edited February 2017
Apple's WebKit team on Tuesday proposed a new Community Group at the World Wide Web Consortium (W3C) that will focus on developing a new standard API, perhaps based on Metal, for accelerating GPU-based 3D graphics and general computation for the web.




Announced through Apple's WebKit blog, the new 'GPU for the Web' Community Group will discuss a potential next-generation web graphics API that can better leverage modern GPUs. Along with 3D content, Apple proposes GPU architecture might also be used to accelerate general web computations.

As noted by Dean Jackson from the WebKit team, advancements in the GPU hardware space has led to identical enhancements in software APIs. He cites platform technologies like Apple's Metal, Microsoft's Direct3D 12 and the Khronos Group's Vulkan as offering lower overhead, and thus better performance, than the OpenGL standard.

Unfortunately, the new graphics APIs contain nuanced architectural differences and are not available across all platforms, making them unsuitable for wide implementation on the web.

"In order to expose a modern, low-level technology that can accelerate graphics and computation, we need to design an API that can be implemented on top of many systems," Jackson writes. "With a broader landscape of graphics technologies, following one specific API like OpenGL is no longer possible."

The newly created W3C group will aid in the evaluation and design of a new web standard capable of tapping into modern GPU hardware while at the same time operating securely across a variety of different graphics technologies, Jackson says. The proposed API might also apply GPU hardware to processes outside of graphical computations and should be easy to adopt.

"It needs to be able to work well with other critical emerging web standards like WebAssembly and WebVR," Jackson says. "And most importantly, the standard should be developed in the open, allowing both industry experts and the broader web community to participate."

To help get things started, Apple's WebKit team is proposing an initial API dubbed "WebGPU." Apple began testing next-generation APIs in WebKit "a few years ago" and found encouraging results, so the company is sharing its WebGPU prototype with the the W3C Community Group.

According to the draft proposal, WebGPU started life as a mapping of Metal to JavaScript. Metal debuted for iOS 8 in 2014 as Apple's graphics framework for the then-new A7 SoC. A year later, Metal made its way to Mac as a unified OpenCL and OpenGL API.

While Metal appears to underpin Apple's initial web graphics proposal, the company does not expect its concept to become the ultimate standard. That said, it appears Apple is angling to take Metal cross-platform.

"We don't expect this to become the actual API that ends up in the standard, and maybe not even the one that the Community Group decides to start with, but we think there is a lot of value in working code," Jackson says.

For those interested, Apple intends to make WebGPU assets available in WebKit "soon."

Comments

  • Reply 1 of 14
    The headline:

    Apple seeks to position Metal as part of new 3D graphics standard for web

    Apple's actual statement: 

    We don't expect this to become the actual API that ends up in the standard

    I mean...
    cornchipawilliams87revenantSpamSandwichStrangeDaysdoozydozen
  • Reply 2 of 14

    I'm quite excited by this.

    What I like about Metal is it isn't specific to a particular platform i.e. it's not written for Nvidia (CUDA) or ATI (ATI Stream) it means that it is able to be utilised on any GPU.

    If Microsoft comes on board with this and ported DirectX to this system (not referring to Metal here) then what we could see is a Metal implementation of DirectX which COULD solve the issue of getting games running on macOS easily. This COULD reduce the need for Wine or Cider for games and because Apple could implement this in Metal it COULD solve part of the problem of getting an ARM based Mac to market.

    This would solve the graphics issues but would not solve the fact that ARM does not have any Intel code in it so that would cause an issue for Parallels and VMWare.

    edited February 2017 Rayz2016watto_cobra
  • Reply 3 of 14
    Headline is correct. Apple is looking to integrate Metal as part of the new API, not the API.
    cornchipSpamSandwichjasenj1doozydozenwatto_cobra
  • Reply 4 of 14
    Headline is correct. Apple is looking to integrate Metal as part of the new API, not the API.
    yeah, very misleading.. The end-goal is to allow a more cross platform setup. on a PC, WebGPU would be working with DirecX most likely, while on a Mac, interface with Metal.. interchangeable standard. Very interesting idea, one I think many Dev's would be motivated to use since it would open up more universal Apps that can operate OS independently.
    edited February 2017 revenant
  • Reply 5 of 14
    radarthekatradarthekat Posts: 3,898moderator
    adrayven said:
    Headline is correct. Apple is looking to integrate Metal as part of the new API, not the API.
    yeah, very misleading.. The end-goal is to allow a more cross platform setup. on a PC, WebGPU would be working with DirecX most likely, while on a Mac, interface with Metal.. interchangeable standard. Very interesting idea, one I think many Dev's would be motivated to use since it would open up more universal Apps that can operate OS independently.

    Talk about eating your own children. Apple is brave to help forge a new world where apps are not tied to a specific platform but can be served from the web.  What will this do to the App Store revenue model?  Or am I missing something?  
    monstrosity
  • Reply 6 of 14
    lmasanti said:
    While doing this… can they also try to change from JavaScript to SwiftScript? SwiftScrip: Swift in the browser, to replace JavaScript. SwiftServerSide: Swift on the server to replace Python, PHP, etc. SwiftTalk: Swift in the Mac to replace AppleTalk in the new version of HyperXard!
    If I ran this forum, you would have been immediately banned.
  • Reply 7 of 14
    lmasanti said:
    While doing this… can they also try to change from JavaScript to SwiftScript? SwiftScrip: Swift in the browser, to replace JavaScript. SwiftServerSide: Swift on the server to replace Python, PHP, etc. SwiftTalk: Swift in the Mac to replace AppleTalk in the new version of HyperXard!
    What thoughtful and constructive input! 
    revenant
  • Reply 8 of 14
    lmasanti said:
    While doing this… can they also try to change from JavaScript to SwiftScript? SwiftScrip: Swift in the browser, to replace JavaScript. SwiftServerSide: Swift on the server to replace Python, PHP, etc. SwiftTalk: Swift in the Mac to replace AppleTalk in the new version of HyperXard!
    If I ran this forum, you would have been immediately banned.
    Why?  Apple considers Swift a System Programming Language -- more than capable for all those uses, and then some, e.g. CLI Scripts.

    edredtmaydoozydozen
  • Reply 9 of 14
    lmasanti said:
    While doing this… can they also try to change from JavaScript to SwiftScript? SwiftScrip: Swift in the browser, to replace JavaScript. SwiftServerSide: Swift on the server to replace Python, PHP, etc. SwiftTalk: Swift in the Mac to replace AppleTalk in the new version of HyperXard!
    If I ran this forum, you would have been immediately banned.
    Why?  Apple considers Swift a System Programming Language -- more than capable for all those uses, and then some, e.g. CLI Scripts.

    I think it's not actually a comment on the subject matter, it's a comment about this site.
  • Reply 10 of 14
    Fashion and nothing else. I am waiting as regular 3D comes back. Want to bet when this happens?
  • Reply 11 of 14
    lmasanti said:
    While doing this… can they also try to change from JavaScript to SwiftScript? SwiftScrip: Swift in the browser, to replace JavaScript. SwiftServerSide: Swift on the server to replace Python, PHP, etc. SwiftTalk: Swift in the Mac to replace AppleTalk in the new version of HyperXard!
    If I ran this forum, you would have been immediately banned.
    Why?  Apple considers Swift a System Programming Language -- more than capable for all those uses, and then some, e.g. CLI Scripts.

    It is not "Swift system programiming language". Mac OS is written in C++ for the record if you did not know. Do not ask how I know ;)
  • Reply 12 of 14
    StrangeDaysStrangeDays Posts: 13,060member
    Headline is correct. Apple is looking to integrate Metal as part of the new API, not the API.
    What quote from him supports that claim? Apple's Jackson said they don't even expect their prototype API to be one the design committee starts with, let alone integrates into a final standard. He presented their prototype as a working proof of concept, to show the idea of a WebGPU API has merit. But there is nothing in what I read that suggests they're seeking to ratify the prototype *as* WebGPU.
    edited February 2017
  • Reply 13 of 14
    lmasanti said:
    While doing this… can they also try to change from JavaScript to SwiftScript? SwiftScrip: Swift in the browser, to replace JavaScript. SwiftServerSide: Swift on the server to replace Python, PHP, etc. SwiftTalk: Swift in the Mac to replace AppleTalk in the new version of HyperXard!
    If I ran this forum, you would have been immediately banned.
    Why?  Apple considers Swift a System Programming Language -- more than capable for all those uses, and then some, e.g. CLI Scripts.

    It is not "Swift system programiming language". Mac OS is written in C++ for the record if you did not know. Do not ask how I know ;)
    The macOS predates Swift by several decades -- so, obviously macOS isn't currently written in Swift.  

     And, it does not make sense to do a wholesale rewrite of macOS just for the sake of making it written in Swift.

    However, parts of macOS have already been successfully rewritten in Swift.  This effort will grow over time because of the advantages of Swift -- modern, performant, concise, predictable, reliable... The biggest advantage of Swift is productivity when writing and maintaining code.

    The point is that Swift was designed with this capability as a System Programming Language.
    edited February 2017 jasenj1
Sign In or Register to comment.