- From: Philip Taylor <excors@gmail.com>
- Date: Sun, 15 Apr 2007 22:23:52 +0100
- To: public-html@w3.org
Ian Hickson wrote: > On Sat, 14 Apr 2007, Chris Wilson wrote: > > > > > > Could you give any concrete examples of vagueness? I'd like to fix any > > > that are unintentional. > > > > <canvas>. You've specified an entire immediate-mode graphics api, more > > extensive in some ways than GDI, without describing the parameters or > > giving rendering rules to get interoperable pixel-perfect rendering. > > Could you be more specific? What parameters do you think should be > specified and which rendering rules do you think are needed to get > interoperable pixel-perfect rendering? My understanding is: pixel-perfect rendering is intentionally against the goals of <canvas> -- e.g. getImageData makes allowances for a canvas-pixel to be multiple device-pixels. (If I remember correctly, that was originally asked for by Opera?) On a 200dpi display you might not want to do antialiasing -- you could instead have each canvas pixel cover 3x3 device-pixels, and any jagged edges would be too small to notice. Also, performance is critical for many interactive uses of canvas: on low-powered mobile devices, the browser might disable antialiasing or bilinear texture filtering, and might use 16-bit colours instead of 24-bit; on devices with hardware-accelerated graphics, the browser may want to use that hardware without being constrained by pixel-perfect accuracy. Implementors have the freedom to compete in performance and quality, without being constrained down to the level of equations to draw a straight line or subdivide a curve. But there are certain areas that are still underspecified, without going into pixel-perfect rendering issues -- globalCompositeAlpha is the biggest one I've seen so far, and it causes some real interoperability problems. It would be unacceptable in a Recommendation, but now is a good time to identify and fix those problems. It'd be quite nice if everyone in the HTML WG could review different sections of the HTML5 spec to find any such issues... For canvas in particular, advice from implementors and graphics experts would be valuable. Failing that, I've been doing some tests and making suggestions myself (http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2007-March/010608.html for the suggested compositing definition, corresponding tests at http://canvex.lazyilluminati.com/tests/tests/index.2d.composite.transparent.html) and I'm happy to trust they will be taken into account in future drafts. The HTML5 spec is certainly not perfect yet, but it seems to be aimed in the right direction and hopefully this kind of specific feedback and testing will allow it to get closer over the next few years. -- Philip Taylor excors@gmail.com
Received on Monday, 16 April 2007 11:40:16 UTC