[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Public WebGL] specification/implementation cadence



On Wed, Aug 10, 2016 at 12:26 AM, Jeff Gilbert <jgilbert@mozilla.com> wrote:
It takes time to mature a spec after conception. In retrospect, WebGL1
really wasn't ready to go when it was released. In the gap between
WebGL1 and 2, we not only worked on WebGL2, but also invested a huge
amount in making WebGL1 the impressively performant, stable,
consistent, and portable API it is today.
 
But it didn't take as long as you say, relatively speaking. GLES2 and
3 was 2007 and 2012 respectively. GLES 3.1 was two years later in
2014, and GLES 3.2 (which largely just brings AEP into core) was 2015.

The latencies are as follows:
  1. GLES 2.0 release specification 2007
  2. WebGL 1.0 first draft specification 2009 (2 years)
  3. WebGL 1.0 release specification 2011 (4 years)
  4. WebGL 1.0 public releases 2011 (4 years)
  1. GLES 3.0 release specification 2012 (5 years ES 2.0)
  2. WebGL 2.0 first draft specification 2013 (1 year ES, 4 years WebGL 1.0)
  3. WebGL 2.0 release specification 2016 (4 years ES, 5 years WebGL 1.0)
  4. WebGL 1.0 public release 2016 (4 years ES, 5 years WebGL 1.0)
There is a clear pattern in this, which I'll come back to a bit later.


You can roughly pretend that our WebGL 1.1 was our body of extensions,
circa 2014. This brings our cadence up to about par.

Inbetween GLES 2.0 (2007) and GLES 3.0 (2012) the ES WG worked on or added:
  • 44 OES/EXT
    • 18 ES 1.0 extensions
    • 24 ES 2.0 extensions
    • 2 ES 3.0 extensions
  • ~87 Vendor extensions
There has been no minor revision inbetween GLES 2.0 and 3.0.

WebGL in total has:
  • 26 ratified or community approved (~OES/EXT status)
  • 11 draft or proposed (does not exist in the GLES registry)
  • 5 rejected (does not exist in the GLES registry)
The characterization as "WebGL 1.1 was our minor revision" is somewhat incorrect in that both GLES and WebGL relied solely on extensions to bridge a long gap in releases, but ES added anything from 100% - 500% more functionality, whereas starting by late 2014 WebGL extensions essentially dried up on the WebGL 2.0 pushback:

WebGL Extensions in ratified or community approved by year
  • 2011: 0
  • 2012: 0
  • 2013: 11 
  • 2014: 10
  • 2015: 4
  • 2016: 1 
That said, I expect things to move faster now that we have our feet
underneath us better with regards to WebGL performance and stability,
and WebGL2 is almost gold.

I don't think this optimism is quite warranted. Analyzing previous release patterns and projecting it one out yields:
  1. GLES 3.1 release specification: 2014 (2 years ES 2.0)
  2. WebGL 2.1 first draft specification: expected 2016 (???) (2 years ES 3.1, 4 years WebGL 2.0, and counting)
  3. WebGL 2.1 release specification: expected 2018 (???)
  4. WebGL 2.1 public release: expected 2021 (???)
From all the comments that I've gathered (see first message in thread) that no WebGL 2.1 specification is drafted at this point. This puts the WebGL 2.1 release schedule as above in jeopardy. So a 2021 WebGL 2.1 release might be optimistic by 1-2 years...

If the WebGL WG wants to make a believable case for a quicker release schedule, it has to adhere to that schedule at the quicker pace that GLES is now going, which would mean first of all having planned and drafted a WebGL 2.1 draft specification by yesterday.