I have been looking at old test-cases for Canvas bugs which I discovered and submitted info on: such as Global Alpha, ArcTo, etc. Things seem to have been fixed, and it is great to witness Mozilla developers having moved things forward over time.
There are other bugs/performance issues and features which need addressing. The lists that follow will have test cases added shortly and I will be trying to link these to old bugzilla reports so we can get some outstanding threads closed down.
P100) Canvas Stalling - Canvas stalls with mouse movement, hardware interupts, CPU spikes etc and appears to stall at regular intervals when idle. GC suggested as likely cause. This behavior does not seem to be present in Safari or Chrome.
P200) Slow Getting & Setting of Pixel Array - Currently pixels are being passed to a JS array. Some kind of abstraction is needed to act as an API to the JS developer, that while acting like an array. is really running at machine level.
Test Case: to follow
P300) Drop Frames - Firefox does not appear to have any mechanism by which to drop frames whereas Chrome most certainly does. It is possible that some of the perceived speed in Chrome's Canvas implementation is due to it's ability to drop frames that could not render in time. Ideally this kind of behavior should be switchable as it would not be desired for an application requiring the timed capture of frames for post-production, whereas it would be very desirable for games and interactive UI elements.
The Canvas bugs I found earlier in the year have already been delt with by 3.5. Go Bugzilla!
F100) SVG Tiny 1.2 XML File to Canvas Pixel Array
I do not see how passing SVG graphics to a pixel array would be any less secure than Firefox's current method of passing graphics from the Canvas toDataURL. Not being a security expert, I can not tell if the request is inherantly flawed beyond my understanding or if I did not outline the desired behavior clearly to J.Watt.
To be clear... I am not suggesting that we rasterize an SVG that is already live in the DOM ( I could see why that could leak information ), I am requesting the ability to render a Tiny SVG from an XML file into a pixel array, without ever going near the DOM.
If someone could explain the problem in layman's terms, I will happily strike it from the list.
Existing Canvas ToDataURL Method: https://developer.mozilla.org/En/Code_snippets/Canvas http://www.nihilogic.dk/labs/canvas2image/
F200) Stroke Dash Array
Stroke dash array is a very useful tool for creating outlines that pop. Stroke dashes are an invaluable tool for rendering charts and graphs and can also be used for other Web 2.0 style effects such as radial bursts and item selection bounds.
With such great movement in SVG on the mobile web and in the browser, failiure to deliver compatible path methods in the Canvas API would be a considered a terrible oversight by immediate mode applications developers who wish to include SVG as part of their authoring tool-chain.
W3C SVG Spec: http://www.w3.org/TR/SVG/painting.html#StrokeProperties
JS Stroke Dash Implementation: http://canvex.lazyilluminati.com/misc/dash.html
WHATWG Discussion: http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2007-May/011224.html