Canvas team OKRs
Q4 2016
Ship OffscreenCanvas #wp-performance #wp-ergonomics
Owners: chrome-canvas, junov, xidachen, xlai
-
Lead: xlai
-
implement convertToBlob
-
Owner: xlai
-
Make placeholder canvas elements work as image sources (drawImage, toBlob, etc)
-
Owner: xlai
-
Ship it in M57
-
This includes achieving full spec conformance.
-
Make a convincing performance demo, and support devrel with launch PR
-
Owner: xlai
-
Land the specification against whatwg
-
Owner: junov
-
Get canvas filters to work in a Worker
-
Owner: fserb
-
Make OffscreenCanvas commit flow works in the Android WebView
-
Owner: xidachen
-
Write tests that verify that it works, fix if necessary.
OffscreenCanvas testing and tracking #wp-predictability
Owners: chrome-canvas, junov, xidachen, xlai
-
Lead: xidachen
-
Contribute to web platform tests
-
Achieve complete test coverage: Each statement in the spec should be covered by tests, with xrefs to the spec. Upstream the tests to web platform tests repo, test other implementations for conformance Main owner/coordinator is xidachen. xlai and junov are contributors.
-
Add telemetry performance tests for OffscreenCanvas
-
Owner: xidachen
-
Must cover commit() and ImageBitmap flows, cover all permutations of GPU/CPU rendering and compositing, run on GPU bots.
-
Add usage metrics histograms.
-
Owner: xidachen
-
Must track: * OffscreenCanvas feature usage * mode of operation (commit vs transferToImageBitmap) * commit() code path * CPU run time for each commit() code path (on the thread where commit is called) * commit() latency (time elapsed from commit() call to UI compositor update)
-
Have the fastest implementation
-
Write animometer-style benchmarks for OffscreenCanvas (commit and imageBitmap flows, 2D and WebGL). Compare to other implementations. Stay on top Main owner/coordinator: xidachen. junov and xlai to contribute to fixing perf issues.
requestAnimationFrame in Workers #wp-ergonomics
Owners: chrome-canvas, junov
- Implement it
- Spec it
- Ship it in M57
Product excellence #wp-health
Owners: chrome-canvas, xidachen, xlai
-
Lead: xidachen
-
Weekly product excellence report
-
Owner: xidachen
-
Publish weekly report to chrome-canvas mailing list. Bug stats: outstanding bug count (number fixed, number of new bugs), list of high-profile outstanding bugs (crashers, security, regressions, highly starred, p0-p1), high profile bugs resolved since last report. Keep report history in a google doc. Delegate reporting when on leave.
-
Performance metrics report
-
Owner: xidachen
-
Twice in the quarter, present to paint team show salient fluctuations in key performance metrics.
-
Prevent bug count from creeping up.
-
Owners: junov, xidachen, xlai, zakerinasab
-
(104 outstanding bugs as of October 5 2016)
-
Refactor Canvas and OffscreenCanvas dependencies on cc
Misc canvas features #wp-ergonomics
Owner: chrome-canvas
- Make experimental implementation of canvas colorspace work
- Owners: junov, zakerinasab
- Experimental implementation of text rendering in workers (stretch)
- Owner: zakerinasab
- 0.5 for getting text to render using only the default font.
- Ship DOMMatrixInit-based canvas APIs (stretch)
- Owner: xlai
Q3 2016
OffscreenCanvas feature complete #wp-future
Owners: chrome-canvas, junov, xidachen, xlai
- 0.80P2commit() flow working for 2D canvas
- Owner: xlai
- Mid-quarter status: Stalled for about 3 weeks due to dependency on mojo improvements. Still on track for EOQ EOQ status: Mostly implemented except software compositing cases
- 0.80P2commit() flow working for WebGL
- Owner: xidachen
- Mid-quarter status: Not started, still possible by EOQ. EOQ status: Mostly implemented except software compositing cases
- 1.00P3GPU-accelerated 2D canvas in a worker
- Owner: junov
- Mid-quarter status: WIP CL almost done. On track. EOQ status: done.
- 0.50P1Finish specification for OffscreenCanvas (rolled over from Q2)
- Owner: junov
- Mid-quarter status: iterated on proposal some more, still attainable by EOQ, moderate risk of slipping. EOQ: Draft complete, not yet publicly shared.
- 0.80P3Canvas readback APIs + tainting for 2D
- Owner: xlai
- getImageData + toBlob + toDataURL working on OffscreenCanvas on main thread + Workers (stretch) Mid-quarter status: WIP, tainting for 2D completed, the rest partially implemented, at risk of slipping into Q4 EOQ status: done, except for toBlob which is not yet implemented
0.10P3Canvas color space support #wp-future
Owners: chrome-canvas, junov
-
Mid-quarter: Slow progress so far this Q, work on colorspace implementation is ramping up with zakerinasab@
-
0.00P2Converge spec proposal
-
Owner: junov
-
Close all unresolved issues about the proposal on the W3C WICG forum Mid-quareter status: No progress. Still attainable this Q
-
0.00P3Write spec (stretch)
-
Owner: junov
-
Commit CanvasColorSpace spec against WHATWG HTML spec. Mid-quarter status: No progress, not likely this quarter.
-
0.30P4Prototype/experimental implementation in Blink
-
Owner: junov
-
Mid-qarter status: Partially landed. Experimental API is there, color space plumbing in the compositor is there, not functional due to several missing pieces in skia, blink and compositor.
0.74P1Product Excellence #wp-health
Owners: chrome-canvas, junov, xidachen, xlai
- 0.80P2Reduce bug count
- Owners: junov, xidachen, xlai
- Go from 121 to under 100 open bugs (Type = Bug + Bug-Regression + Bug-Security) Mid-quarter status: 106 outstanding bugs. On track! EOQ status: 104 bugs.
- P1Resolve all memory leak-like issues related to canvas
- Owner: xidachen
- Mid-quarter status: Out of our hands: dependency on V8 team GC triggers.
- 0.80P12 week SLA on fixing crashers and security bugs
- Owners: junov, xidachen, xlai
- Mid-quarter status: On track. EOQ status: crasher 624718 is lagging behind. Otherwise we did good.
- 1.00P21 week SLA on triage
- Owner: junov
- Mid-quarter status: on track EOQ: done.
- 0.50P3Be the best browser for all canvas-related Animometer benchmark scores
- Owner: junov
- (Includes work by intern sebastienlc) Mid-quarter status: implemented but not enabled. Not on track because no one is currently owning follow-up on intern's work. Postponing. EOQ status: some heuristic for falling back to SW have been implemented, thus preventing critical performance cliffs. Global approach is not ready to ship.
- 0.60P2Fix top starred issues
- Owners: junov, xidachen
- crbug.com/618324 - Experimental `imageSmoothingQuality` property doesn't provide expected quality crbug.com/7508 - We don't anti-alias <canvas> drawImage Mid-quarter status: 7508 is fixed, 618324 has been investigated but will probably not be fixed this quarter. EOQ status: 1/2 bugs fixed + bonus bug 424291
Misc Features #wp-future #wp-performance
Owner: chrome-canvas
- 0.70P3Ship ImageBitmap resize
- Owner: xidachen
- Mid-quarter status: on track EOQ staus: implementation complete, but not shipped
- 0.90P2Ship ImageSmoothingQuality
- Owner: junov
- Mid-quarter status: done, but there are outstanding complaint about the quality of the mipmaps used for high quality filtering.